@1money/react-ui 1.17.1-alpha.0 → 1.17.1-alpha.2
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/es/components/Form/Form.js +3 -1
- package/es/components/Form/FormItemContent.js +3 -1
- package/es/components/Form/useFormItemContext.js +3 -1
- package/es/components/Form/useFormItemWatch.js +3 -1
- package/es/components/ProForm/ProForm.js +3 -1
- package/es/components/ProForm/ProFormDependency.js +3 -1
- package/es/components/ProForm/ProFormList.js +3 -1
- package/es/index.css +1 -1
- package/lib/components/Form/Form.js +2 -1
- package/lib/components/Form/FormItemContent.js +2 -1
- package/lib/components/Form/useFormItemContext.js +2 -1
- package/lib/components/Form/useFormItemWatch.js +2 -1
- package/lib/components/ProForm/ProForm.js +2 -1
- package/lib/components/ProForm/ProFormDependency.js +2 -1
- package/lib/components/ProForm/ProFormList.js +2 -1
- package/lib/index.css +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
var __rest = this && this.__rest || function (s, e) {
|
|
2
4
|
var t = {};
|
|
3
5
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -345,4 +347,4 @@ var ProFormListBase = function ProFormListBase(props) {
|
|
|
345
347
|
ProFormListBase.displayName = 'ProFormList';
|
|
346
348
|
export var ProFormList = /*#__PURE__*/memo(ProFormListBase);
|
|
347
349
|
export default ProFormList;
|
|
348
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtTGlzdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtTGlzdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3hzIiwiX2pzeHMiLCJEbmRDb250ZXh0IiwiU29ydGFibGVDb250ZXh0IiwidXNlU29ydGFibGUiLCJ2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3kiLCJDU1MiLCJtZW1vIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsImpvaW5DbHMiLCJ1c2VNZW1vaXplZEZuIiwidXNlRmllbGRBcnJheSIsInVzZUZvcm1Db250ZXh0IiwidXNlV2F0Y2giLCJCdXR0b24iLCJDU1NfUFJFRklYIiwiREVGQVVMVF9URVhUIiwic3R5bGVzIiwiZXh0cmFjdEJ1dHRvblByb3BzIiwiYnVpbGRPbkRyYWdFbmQiLCJfcmVmIiwibW92ZSIsImZpZWxkcyIsIl9yZWYyIiwiYWN0aXZlIiwib3ZlciIsImlkIiwib2xkSW5kZXgiLCJmaW5kSW5kZXgiLCJpdGVtIiwiU3RyaW5nIiwibmV3SW5kZXgiLCJQcm9Gb3JtTGlzdFJvd0JvZHlCYXNlIiwiX3JlZjMiLCJmaWVsZElkIiwiaW5kZXgiLCJyZWNvcmQiLCJjb3B5SWNvblByb3BzIiwiZGVsZXRlSWNvblByb3BzIiwiY2FuQWRkIiwiY2FuUmVtb3ZlIiwiY29weSIsInJlbW92ZUF0IiwiYWN0aW9uIiwiYWN0aW9uUmVuZGVyIiwiaXRlbVJlbmRlciIsIl9hIiwiX2IiLCJjb3B5QnRuIiwiZGVsZXRlQnRuIiwiZGVmYXVsdERvbSIsImFzc2lnbiIsImRvbVByb3BzIiwidHlwZSIsInNldmVyaXR5Iiwib25DbGljayIsImV2ZW50IiwiZGlzYWJsZWQiLCJjaGlsZHJlbiIsImNvbmNhdCIsInJlbmRlcmVkQWN0aW9ucyIsImZpbHRlciIsIkJvb2xlYW4iLCJyb3dOb2RlIiwiY2xhc3NOYW1lIiwibGlzdERvbSIsIlByb0Zvcm1MaXN0Um93Qm9keSIsIlNvcnRhYmxlUHJvRm9ybUxpc3RSb3dCYXNlIiwicHJvcHMiLCJfdXNlU29ydGFibGUiLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwic2V0Tm9kZVJlZiIsInRyYW5zZm9ybSIsInRyYW5zaXRpb24iLCJpc0RyYWdnaW5nIiwic3R5bGUiLCJUcmFuc2Zvcm0iLCJ0b1N0cmluZyIsInVuZGVmaW5lZCIsImN1cnNvciIsIm9wYWNpdHkiLCJyZWYiLCJTb3J0YWJsZVByb0Zvcm1MaXN0Um93IiwiQ3JlYXRvckJ1dHRvbiIsIl9yZWY0IiwiY29uZmlnIiwib25BZGQiLCJ0ZXh0IiwiXyIsInBvc2l0aW9uIiwiYWRkIiwiUHJvRm9ybUxpc3RCYXNlIiwibmFtZSIsImxhYmVsIiwibWluIiwibWF4IiwiaW5pdGlhbFZhbHVlIiwiY3JlYXRvckJ1dHRvblByb3BzIiwic29ydGFibGUiLCJvbkFmdGVyQWRkIiwib25BZnRlclJlbW92ZSIsImluaXRpYWxBcHBsaWVkIiwiX3VzZUZvcm1Db250ZXh0IiwiY29udHJvbCIsIl91c2VGaWVsZEFycmF5IiwiYXBwZW5kIiwicmVtb3ZlIiwiaW5zZXJ0IiwicmVwbGFjZSIsIndhdGNoZWRMaXN0IiwibGlzdFNuYXBzaG90IiwiQXJyYXkiLCJpc0FycmF5IiwiY3VycmVudCIsImRlZmF1bHRWYWx1ZSIsInZhbHVlIiwibWVtb2l6ZWRNb3ZlIiwiZ2V0TGlzdCIsIm1hcHBlZEZpZWxkcyIsIm1hcCIsImZpZWxkIiwia2V5IiwiaGFzQ3JlYXRvciIsImNyZWF0b3JDb25maWciLCJjcmVhdG9yUG9zaXRpb24iLCJhZGRGcm9tVG9wQ3JlYXRvciIsImFkZEZyb21Cb3R0b21DcmVhdG9yIiwiYWN0aW9uUm93cyIsInJvd1JlY29yZCIsInNvcnRhYmxlSWRzIiwiZHJhZ0VuZEhhbmRsZXIiLCJhY3Rpb25zTm9kZSIsIm9uRHJhZ0VuZCIsIml0ZW1zIiwic3RyYXRlZ3kiLCJkaXNwbGF5TmFtZSIsIlByb0Zvcm1MaXN0Il0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIsQ0FBQyxDQUFDQyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUdWLENBQUMs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LEtBQUFMLE1BQUEsQ0FBSzVDLFVBQVUsa0JBQWU7TUFBQTJDLFFBQUEsRUFBR087SUFBTyxDQUFBLENBQU8sRUFDN0R0RSxJQUFBLENBQUEsS0FBQSxFQUFBO01BQUtxRSxTQUFTLEtBQUFMLE1BQUEsQ0FBSzVDLFVBQVUsa0JBQWU7TUFBQTJDLFFBQUEsRUFBRzBFO0lBQVcsQ0FBQSxDQUFPLEVBRWhFUCxlQUFlLEtBQUssUUFBUSxJQUMzQmxJLElBQUEsQ0FBQ3lGLGFBQWEsRUFBQTtNQUFDRSxNQUFNLEVBQUVzQyxhQUFhO01BQUVyRixNQUFNLEVBQUVBLE1BQU07TUFBRWdELEtBQUssRUFBRXdDO0lBQW9CLENBQUEsQ0FDbEY7RUFBQSxDQUFBLENBQ0c7QUFFVixDQUFDO0FBRURuQyxlQUFlLENBQUM0QyxXQUFXLEdBQUcsYUFBYTtBQUUzQyxPQUFPLElBQU1DLFdBQVcsZ0JBQUdwSSxJQUFJLENBQUN1RixlQUFlLENBQUM7QUFFaEQsZUFBZTZDLFdBQVciLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm1MaXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgRG5kQ29udGV4dCB9IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSwgdmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5IH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IG1lbW8sIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnLi4vdXNlTWVtb2l6ZWRGbic7XG5pbXBvcnQgeyB1c2VGaWVsZEFycmF5LCB1c2VGb3JtQ29udGV4dCwgdXNlV2F0Y2ggfSBmcm9tICdyZWFjdC1ob29rLWZvcm0nO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IENTU19QUkVGSVgsIERFRkFVTFRfVEVYVCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9zdHlsZS9Qcm9Gb3JtLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7IGV4dHJhY3RCdXR0b25Qcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuLyoqXG4gKiBDcmVhdGVzIGEgYERuZENvbnRleHRgIGBvbkRyYWdFbmRgIGhhbmRsZXIgdGhhdCB0cmFuc2xhdGVzIGRyYWcgZXZlbnRzXG4gKiBpbnRvIGZpZWxkIGFycmF5IGBtb3ZlYCBjYWxscy5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucy5tb3ZlIC0gVGhlIGBtb3ZlYCBmdW5jdGlvbiBmcm9tIGB1c2VGaWVsZEFycmF5YC5cbiAqIEBwYXJhbSBvcHRpb25zLmZpZWxkcyAtIFRoZSBjdXJyZW50IGZpZWxkIGFycmF5IGVudHJpZXMuXG4gKiBAcmV0dXJucyBBIGRyYWctZW5kIGV2ZW50IGhhbmRsZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZE9uRHJhZ0VuZCA9ICh7IG1vdmUsIGZpZWxkcywgfSkgPT4ge1xuICAgIHJldHVybiAoeyBhY3RpdmUsIG92ZXIgfSkgPT4ge1xuICAgICAgICBpZiAoIW92ZXIgfHwgYWN0aXZlLmlkID09PSBvdmVyLmlkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBvbGRJbmRleCA9IGZpZWxkcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBTdHJpbmcoYWN0aXZlLmlkKSk7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID0gZmllbGRzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IFN0cmluZyhvdmVyLmlkKSk7XG4gICAgICAgIGlmIChvbGRJbmRleCA+PSAwICYmIG5ld0luZGV4ID49IDApIHtcbiAgICAgICAgICAgIG1vdmUob2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuLyoqIEBpbnRlcm5hbCBSZW5kZXJzIGNvcHkvZGVsZXRlIGFjdGlvbiBidXR0b25zIGZvciBhIHNpbmdsZSBsaXN0IHJvdy4gKi9cbmNvbnN0IFByb0Zvcm1MaXN0Um93Qm9keUJhc2UgPSAoeyBmaWVsZElkLCBpbmRleCwgcmVjb3JkLCBjb3B5SWNvblByb3BzLCBkZWxldGVJY29uUHJvcHMsIGNhbkFkZCwgY2FuUmVtb3ZlLCBjb3B5LCByZW1vdmVBdCwgYWN0aW9uLCBhY3Rpb25SZW5kZXIsIGl0ZW1SZW5kZXIsIH0pID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IGNvcHlCdG4gPSBleHRyYWN0QnV0dG9uUHJvcHMoY29weUljb25Qcm9wcyk7XG4gICAgY29uc3QgZGVsZXRlQnRuID0gZXh0cmFjdEJ1dHRvblByb3BzKGRlbGV0ZUljb25Qcm9wcyk7XG4gICAgY29uc3QgZGVmYXVsdERvbSA9IHtcbiAgICAgICAgZGVsZXRlOiBkZWxldGVJY29uUHJvcHMgPT09IGZhbHNlXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogKF9qc3goQnV0dG9uLCBPYmplY3QuYXNzaWduKHt9LCBkZWxldGVCdG4uZG9tUHJvcHMsIHsgdHlwZTogJ2J1dHRvbicsIHNldmVyaXR5OiAnc2Vjb25kYXJ5Jywgb25DbGljazogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAoX2EgPSBkZWxldGVCdG4ub25DbGljaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoZGVsZXRlQnRuLCBldmVudCk7XG4gICAgICAgICAgICAgICAgfSwgZGlzYWJsZWQ6ICFjYW5SZW1vdmUgfHwgZGVsZXRlQnRuLmRpc2FibGVkLCBjaGlsZHJlbjogKF9hID0gZGVsZXRlQnRuLmNoaWxkcmVuKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBERUZBVUxUX1RFWFQuZGVsZXRlIH0pLCBgZGVsZXRlLSR7ZmllbGRJZH1gKSksXG4gICAgICAgIGNvcHk6IGNvcHlJY29uUHJvcHMgPT09IGZhbHNlXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogKF9qc3goQnV0dG9uLCBPYmplY3QuYXNzaWduKHt9LCBjb3B5QnRuLmRvbVByb3BzLCB7IHR5cGU6ICdidXR0b24nLCBzZXZlcml0eTogJ3NlY29uZGFyeScsIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIGNvcHkoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAoX2EgPSBjb3B5QnRuLm9uQ2xpY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGNvcHlCdG4sIGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9LCBkaXNhYmxlZDogIWNhbkFkZCB8fCBjb3B5QnRuLmRpc2FibGVkLCBjaGlsZHJlbjogKF9iID0gY29weUJ0bi5jaGlsZHJlbikgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogREVGQVVMVF9URVhULmNvcHkgfSksIGBjb3B5LSR7ZmllbGRJZH1gKSksXG4gICAgfTtcbiAgICBjb25zdCByZW5kZXJlZEFjdGlvbnMgPSBhY3Rpb25SZW5kZXJcbiAgICAgICAgPyBhY3Rpb25SZW5kZXIoeyBpbmRleCwgcmVjb3JkIH0sIGFjdGlvbiwgZGVmYXVsdERvbSlcbiAgICAgICAgOiBbZGVmYXVsdERvbS5jb3B5LCBkZWZhdWx0RG9tLmRlbGV0ZV0uZmlsdGVyKEJvb2xlYW4pO1xuICAgIGNvbnN0IHJvd05vZGUgPSAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogam9pbkNscyhzdHlsZXNbJ3Byb2Zvcm1fX2xpc3Qtcm93LWFjdGlvbnMnXSwgYCR7Q1NTX1BSRUZJWH0tbGlzdC1yb3ctYWN0aW9uc2ApLCBjaGlsZHJlbjogcmVuZGVyZWRBY3Rpb25zIH0pKTtcbiAgICBpZiAoIWl0ZW1SZW5kZXIpXG4gICAgICAgIHJldHVybiByb3dOb2RlO1xuICAgIHJldHVybiBfanN4KF9GcmFnbWVudCwgeyBjaGlsZHJlbjogaXRlbVJlbmRlcih7IGxpc3REb206IHJvd05vZGUsIGFjdGlvbiB9KSB9KTtcbn07XG5jb25zdCBQcm9Gb3JtTGlzdFJvd0JvZHkgPSBtZW1vKFByb0Zvcm1MaXN0Um93Qm9keUJhc2UpO1xuLyoqIEBpbnRlcm5hbCBEcmFnLWFuZC1kcm9wIHdyYXBwZXIgZm9yIGEgc29ydGFibGUgbGlzdCByb3cuICovXG5jb25zdCBTb3J0YWJsZVByb0Zvcm1MaXN0Um93QmFzZSA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgZmllbGRJZCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyBhdHRyaWJ1dGVzLCBsaXN0ZW5lcnMsIHNldE5vZGVSZWYsIHRyYW5zZm9ybSwgdHJhbnNpdGlvbiwgaXNEcmFnZ2luZywgfSA9IHVzZVNvcnRhYmxlKHsgaWQ6IGZpZWxkSWQgfSk7XG4gICAgY29uc3Qgc3R5bGUgPSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtID8gQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pIDogdW5kZWZpbmVkLFxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2l0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgY3Vyc29yOiAnZ3JhYicsXG4gICAgICAgIG9wYWNpdHk6IGlzRHJhZ2dpbmcgPyAwLjggOiAxLFxuICAgIH07XG4gICAgcmV0dXJuIChfanN4KFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oeyByZWY6IHNldE5vZGVSZWYsIHN0eWxlOiBzdHlsZSwgXCJkYXRhLXNvcnRhYmxlXCI6ICd0cnVlJyB9LCBhdHRyaWJ1dGVzLCBsaXN0ZW5lcnMsIHsgY2hpbGRyZW46IF9qc3goUHJvRm9ybUxpc3RSb3dCb2R5LCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpIH0pKSk7XG59O1xuY29uc3QgU29ydGFibGVQcm9Gb3JtTGlzdFJvdyA9IG1lbW8oU29ydGFibGVQcm9Gb3JtTGlzdFJvd0Jhc2UpO1xuLyoqIEBpbnRlcm5hbCBSZW5kZXJzIHRoZSBcImFkZCByb3dcIiBidXR0b24gZm9yIHtAbGluayBQcm9Gb3JtTGlzdH0uICovXG5jb25zdCBDcmVhdG9yQnV0dG9uID0gKHsgY29uZmlnLCBjYW5BZGQsIG9uQWRkIH0pID0+IHtcbiAgICBpZiAoIWNvbmZpZylcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgeyB0ZXh0LCBwb3NpdGlvbjogXywgb25DbGljaywgZGlzYWJsZWQgfSA9IGNvbmZpZywgZG9tUHJvcHMgPSBfX3Jlc3QoY29uZmlnLCBbXCJ0ZXh0XCIsIFwicG9zaXRpb25cIiwgXCJvbkNsaWNrXCIsIFwiZGlzYWJsZWRcIl0pO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIE9iamVjdC5hc3NpZ24oe30sIGRvbVByb3BzLCB7IHR5cGU6ICdidXR0b24nLCBvbkNsaWNrOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIG9uQWRkKCk7XG4gICAgICAgICAgICBvbkNsaWNrID09PSBudWxsIHx8IG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2xpY2soZXZlbnQpO1xuICAgICAgICB9LCBkaXNhYmxlZDogIWNhbkFkZCB8fCAhIWRpc2FibGVkLCBjaGlsZHJlbjogdGV4dCAhPT0gbnVsbCAmJiB0ZXh0ICE9PSB2b2lkIDAgPyB0ZXh0IDogREVGQVVMVF9URVhULmFkZCB9KSkpO1xufTtcbi8qKlxuICogRHluYW1pYywgcmVwZWF0YWJsZSBmb3JtIGZpZWxkIGxpc3Qgd2l0aCBhZGQsIHJlbW92ZSwgY29weSwgYW5kXG4gKiBkcmFnLWFuZC1kcm9wIHJlb3JkZXJpbmcgY2FwYWJpbGl0aWVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIDxQcm9Gb3JtTGlzdCBuYW1lPVwiaXRlbXNcIiBtaW49ezF9IG1heD17NX0gc29ydGFibGU+XG4gKiAgIHsoZmllbGRzKSA9PiBmaWVsZHMubWFwKCh7IG5hbWUsIGtleSB9KSA9PiAoXG4gKiAgICAgPFByb0Zvcm1UZXh0IGtleT17a2V5fSBuYW1lPXtgJHtuYW1lfS50aXRsZWB9IGxhYmVsPVwiVGl0bGVcIiAvPlxuICogICApKX1cbiAqIDwvUHJvRm9ybUxpc3Q+XG4gKiBgYGBcbiAqL1xuY29uc3QgUHJvRm9ybUxpc3RCYXNlID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgbmFtZSwgbGFiZWwsIG1pbiwgbWF4LCBpbml0aWFsVmFsdWUsIGNvcHlJY29uUHJvcHMsIGRlbGV0ZUljb25Qcm9wcywgY3JlYXRvckJ1dHRvblByb3BzLCBzb3J0YWJsZSwgaXRlbVJlbmRlciwgYWN0aW9uUmVuZGVyLCBjaGlsZHJlbiwgb25BZnRlckFkZCwgb25BZnRlclJlbW92ZSwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGluaXRpYWxBcHBsaWVkID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCB7IGNvbnRyb2wgfSA9IHVzZUZvcm1Db250ZXh0KCk7XG4gICAgY29uc3QgeyBmaWVsZHMsIGFwcGVuZCwgcmVtb3ZlLCBtb3ZlLCBpbnNlcnQsIHJlcGxhY2UgfSA9IHVzZUZpZWxkQXJyYXkoe1xuICAgICAgICBjb250cm9sLFxuICAgICAgICBuYW1lOiBuYW1lLFxuICAgIH0pO1xuICAgIGNvbnN0IHdhdGNoZWRMaXN0ID0gdXNlV2F0Y2goeyBjb250cm9sLCBuYW1lOiBuYW1lIH0pO1xuICAgIGNvbnN0IGxpc3RTbmFwc2hvdCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh3YXRjaGVkTGlzdCkgPyB3YXRjaGVkTGlzdCA6IFtdO1xuICAgIH0sIFt3YXRjaGVkTGlzdF0pO1xuICAgIC8vIEFwcGx5IGBpbml0aWFsVmFsdWVgIG9ubHkgb25jZTogYGluaXRpYWxBcHBsaWVkLmN1cnJlbnRgIHByZXZlbnRzIHJlLWVudHJ5LFxuICAgIC8vIHNvIGV2ZW4gaWYgZnV0dXJlIHJlbmRlcnMgcGFzcyBhIG5ldyBgaW5pdGlhbFZhbHVlYCBhcnJheSByZWZlcmVuY2UsIHRoaXNcbiAgICAvLyBlZmZlY3Qgd2lsbCBub3QgY2FsbCBgcmVwbGFjZWAgYWdhaW4gb25jZSBpbml0aWFsaXphdGlvbiBoYXMgaGFwcGVuZWQuXG4gICAgLy8gSWYgcmUtYXBwbGljYXRpb24gb24gYGluaXRpYWxWYWx1ZWAgY2hhbmdlcyBpcyBkZXNpcmVkLCByZXNldFxuICAgIC8vIGBpbml0aWFsQXBwbGllZC5jdXJyZW50YCBpbnRlbnRpb25hbGx5IChvciByZW1vdmUgdGhpcyBndWFyZCBhbmQgZGlmZiB2YWx1ZXMpLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChpbml0aWFsQXBwbGllZC5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoZmllbGRzLmxlbmd0aCAhPT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGluaXRpYWxWYWx1ZSkgfHwgaW5pdGlhbFZhbHVlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaW5pdGlhbEFwcGxpZWQuY3VycmVudCA9IHRydWU7XG4gICAgICAgIHJlcGxhY2UoaW5pdGlhbFZhbHVlKTtcbiAgICB9LCBbZmllbGRzLmxlbmd0aCwgaW5pdGlhbFZhbHVlLCByZXBsYWNlXSk7XG4gICAgY29uc3QgY2FuQWRkID0gbWF4ID09IG51bGwgfHwgZmllbGRzLmxlbmd0aCA8IG1heDtcbiAgICBjb25zdCBjYW5SZW1vdmUgPSBtaW4gPT0gbnVsbCB8fCBmaWVsZHMubGVuZ3RoID4gbWluO1xuICAgIGNvbnN0IGFkZCA9IHVzZU1lbW9pemVkRm4oKGRlZmF1bHRWYWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKCFjYW5BZGQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDoge307XG4gICAgICAgIGlmICh0eXBlb2YgaW5kZXggPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBpbnNlcnQoaW5kZXgsIHZhbHVlKTtcbiAgICAgICAgICAgIG9uQWZ0ZXJBZGQgPT09IG51bGwgfHwgb25BZnRlckFkZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25BZnRlckFkZCh2YWx1ZSwgaW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGFwcGVuZCh2YWx1ZSk7XG4gICAgICAgIG9uQWZ0ZXJBZGQgPT09IG51bGwgfHwgb25BZnRlckFkZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25BZnRlckFkZCh2YWx1ZSwgZmllbGRzLmxlbmd0aCk7XG4gICAgfSk7XG4gICAgY29uc3QgcmVtb3ZlQXQgPSB1c2VNZW1vaXplZEZuKChpbmRleCkgPT4ge1xuICAgICAgICBpZiAoIWNhblJlbW92ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgcmVtb3ZlKGluZGV4KTtcbiAgICAgICAgb25BZnRlclJlbW92ZSA9PT0gbnVsbCB8fCBvbkFmdGVyUmVtb3ZlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkFmdGVyUmVtb3ZlKGluZGV4KTtcbiAgICB9KTtcbiAgICBjb25zdCBjb3B5ID0gdXNlTWVtb2l6ZWRGbigoaW5kZXgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIWNhbkFkZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoX2EgPSBsaXN0U25hcHNob3RbaW5kZXhdKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB7fTtcbiAgICAgICAgYWRkKHZhbHVlLCBpbmRleCArIDEpO1xuICAgIH0pO1xuICAgIGNvbnN0IG1lbW9pemVkTW92ZSA9IHVzZU1lbW9pemVkRm4obW92ZSk7XG4gICAgY29uc3QgZ2V0TGlzdCA9IHVzZU1lbW9pemVkRm4oKCkgPT4gbGlzdFNuYXBzaG90KTtcbiAgICBjb25zdCBhY3Rpb24gPSB1c2VNZW1vKCgpID0+ICh7XG4gICAgICAgIGFkZCxcbiAgICAgICAgcmVtb3ZlOiByZW1vdmVBdCxcbiAgICAgICAgbW92ZTogbWVtb2l6ZWRNb3ZlLFxuICAgICAgICBjb3B5LFxuICAgICAgICBnZXRMaXN0LFxuICAgIH0pLCBbYWRkLCBjb3B5LCBnZXRMaXN0LCBtZW1vaXplZE1vdmUsIHJlbW92ZUF0XSk7XG4gICAgY29uc3QgbWFwcGVkRmllbGRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBmaWVsZHMubWFwKChmaWVsZCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBgJHtTdHJpbmcobmFtZSl9LiR7aW5kZXh9YCxcbiAgICAgICAgICAgIGtleTogZmllbGQuaWQsXG4gICAgICAgIH0pKTtcbiAgICB9LCBbZmllbGRzLCBuYW1lXSk7XG4gICAgY29uc3QgbGlzdERvbSA9IHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkcmVuKG1hcHBlZEZpZWxkcywgYWN0aW9uKVxuICAgICAgICA6IGNoaWxkcmVuO1xuICAgIGNvbnN0IGhhc0NyZWF0b3IgPSBjcmVhdG9yQnV0dG9uUHJvcHMgIT09IGZhbHNlO1xuICAgIGNvbnN0IGNyZWF0b3JDb25maWcgPSBoYXNDcmVhdG9yXG4gICAgICAgID8gT2JqZWN0LmFzc2lnbih7fSwgKGNyZWF0b3JCdXR0b25Qcm9wcyB8fCB7fSkpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNyZWF0b3JQb3NpdGlvbiA9IChfYSA9IGNyZWF0b3JDb25maWcgPT09IG51bGwgfHwgY3JlYXRvckNvbmZpZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogY3JlYXRvckNvbmZpZy5wb3NpdGlvbikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ2JvdHRvbSc7XG4gICAgY29uc3QgYWRkRnJvbVRvcENyZWF0b3IgPSB1c2VNZW1vaXplZEZuKCgpID0+IGFkZCh7fSwgMCkpO1xuICAgIGNvbnN0IGFkZEZyb21Cb3R0b21DcmVhdG9yID0gdXNlTWVtb2l6ZWRGbigoKSA9PiBhZGQoKSk7XG4gICAgY29uc3QgYWN0aW9uUm93cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dSZWNvcmQgPSBsaXN0U25hcHNob3RbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKHNvcnRhYmxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFNvcnRhYmxlUHJvRm9ybUxpc3RSb3csIHsgZmllbGRJZDogZmllbGQuaWQsIGluZGV4OiBpbmRleCwgcmVjb3JkOiByb3dSZWNvcmQsIGNvcHlJY29uUHJvcHM6IGNvcHlJY29uUHJvcHMsIGRlbGV0ZUljb25Qcm9wczogZGVsZXRlSWNvblByb3BzLCBjYW5BZGQ6IGNhbkFkZCwgY2FuUmVtb3ZlOiBjYW5SZW1vdmUsIGNvcHk6IGNvcHksIHJlbW92ZUF0OiByZW1vdmVBdCwgYWN0aW9uOiBhY3Rpb24sIGFjdGlvblJlbmRlcjogYWN0aW9uUmVuZGVyLCBpdGVtUmVuZGVyOiBpdGVtUmVuZGVyIH0sIGZpZWxkLmlkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybUxpc3RSb3dCb2R5LCB7IGZpZWxkSWQ6IGZpZWxkLmlkLCBpbmRleDogaW5kZXgsIHJlY29yZDogcm93UmVjb3JkLCBjb3B5SWNvblByb3BzOiBjb3B5SWNvblByb3BzLCBkZWxldGVJY29uUHJvcHM6IGRlbGV0ZUljb25Qcm9wcywgY2FuQWRkOiBjYW5BZGQsIGNhblJlbW92ZTogY2FuUmVtb3ZlLCBjb3B5OiBjb3B5LCByZW1vdmVBdDogcmVtb3ZlQXQsIGFjdGlvbjogYWN0aW9uLCBhY3Rpb25SZW5kZXI6IGFjdGlvblJlbmRlciwgaXRlbVJlbmRlcjogaXRlbVJlbmRlciB9LCBmaWVsZC5pZCkpO1xuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgYWN0aW9uUmVuZGVyLFxuICAgICAgICBjYW5BZGQsXG4gICAgICAgIGNhblJlbW92ZSxcbiAgICAgICAgY29weSxcbiAgICAgICAgY29weUljb25Qcm9wcyxcbiAgICAgICAgZGVsZXRlSWNvblByb3BzLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIGl0ZW1SZW5kZXIsXG4gICAgICAgIGxpc3RTbmFwc2hvdCxcbiAgICAgICAgcmVtb3ZlQXQsXG4gICAgICAgIHNvcnRhYmxlLFxuICAgIF0pO1xuICAgIGNvbnN0IHNvcnRhYmxlSWRzID0gdXNlTWVtbygoKSA9PiBmaWVsZHMubWFwKGl0ZW0gPT4gaXRlbS5pZCksIFtmaWVsZHNdKTtcbiAgICBjb25zdCBkcmFnRW5kSGFuZGxlciA9IHVzZU1lbW8oKCkgPT4gYnVpbGRPbkRyYWdFbmQoeyBtb3ZlLCBmaWVsZHM6IGZpZWxkcyB9KSwgW2ZpZWxkcywgbW92ZV0pO1xuICAgIGNvbnN0IGFjdGlvbnNOb2RlID0gc29ydGFibGVcbiAgICAgICAgPyAoX2pzeChEbmRDb250ZXh0LCB7IG9uRHJhZ0VuZDogZHJhZ0VuZEhhbmRsZXIsIGNoaWxkcmVuOiBfanN4KFNvcnRhYmxlQ29udGV4dCwgeyBpdGVtczogc29ydGFibGVJZHMsIHN0cmF0ZWd5OiB2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3ksIGNoaWxkcmVuOiBhY3Rpb25Sb3dzIH0pIH0pKVxuICAgICAgICA6IGFjdGlvblJvd3M7XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogam9pbkNscyhzdHlsZXNbJ3Byb2Zvcm1fX2xpc3QnXSwgYCR7Q1NTX1BSRUZJWH0tbGlzdGApLCBjaGlsZHJlbjogW2xhYmVsICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGpvaW5DbHMoc3R5bGVzWydwcm9mb3JtX19saXN0LWxhYmVsJ10sIGAke0NTU19QUkVGSVh9LWxpc3QtbGFiZWxgKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBjcmVhdG9yUG9zaXRpb24gPT09ICd0b3AnICYmIChfanN4KENyZWF0b3JCdXR0b24sIHsgY29uZmlnOiBjcmVhdG9yQ29uZmlnLCBjYW5BZGQ6IGNhbkFkZCwgb25BZGQ6IGFkZEZyb21Ub3BDcmVhdG9yIH0pKSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7Q1NTX1BSRUZJWH0tbGlzdC1jb250ZW50YCwgY2hpbGRyZW46IGxpc3REb20gfSksIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke0NTU19QUkVGSVh9LWxpc3QtYWN0aW9uc2AsIGNoaWxkcmVuOiBhY3Rpb25zTm9kZSB9KSwgY3JlYXRvclBvc2l0aW9uID09PSAnYm90dG9tJyAmJiAoX2pzeChDcmVhdG9yQnV0dG9uLCB7IGNvbmZpZzogY3JlYXRvckNvbmZpZywgY2FuQWRkOiBjYW5BZGQsIG9uQWRkOiBhZGRGcm9tQm90dG9tQ3JlYXRvciB9KSldIH0pKTtcbn07XG5Qcm9Gb3JtTGlzdEJhc2UuZGlzcGxheU5hbWUgPSAnUHJvRm9ybUxpc3QnO1xuZXhwb3J0IGNvbnN0IFByb0Zvcm1MaXN0ID0gbWVtbyhQcm9Gb3JtTGlzdEJhc2UpO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybUxpc3Q7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
350
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtTGlzdC50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vUHJvRm9ybUxpc3QuanMiXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3hzIiwiX2pzeHMiLCJEbmRDb250ZXh0IiwiU29ydGFibGVDb250ZXh0IiwidXNlU29ydGFibGUiLCJ2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3kiLCJDU1MiLCJtZW1vIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsImpvaW5DbHMiLCJ1c2VNZW1vaXplZEZuIiwidXNlRmllbGRBcnJheSIsInVzZUZvcm1Db250ZXh0IiwidXNlV2F0Y2giLCJCdXR0b24iLCJDU1NfUFJFRklYIiwiREVGQVVMVF9URVhUIiwic3R5bGVzIiwiZXh0cmFjdEJ1dHRvblByb3BzIiwiYnVpbGRPbkRyYWdFbmQiLCJfcmVmIiwibW92ZSIsImZpZWxkcyIsIl9yZWYyIiwiYWN0aXZlIiwib3ZlciIsImlkIiwib2xkSW5kZXgiLCJmaW5kSW5kZXgiLCJpdGVtIiwiU3RyaW5nIiwibmV3SW5kZXgiLCJQcm9Gb3JtTGlzdFJvd0JvZHlCYXNlIiwiX3JlZjMiLCJmaWVsZElkIiwiaW5kZXgiLCJyZWNvcmQiLCJjb3B5SWNvblByb3BzIiwiZGVsZXRlSWNvblByb3BzIiwiY2FuQWRkIiwiY2FuUmVtb3ZlIiwiY29weSIsInJlbW92ZUF0IiwiYWN0aW9uIiwiYWN0aW9uUmVuZGVyIiwiaXRlbVJlbmRlciIsIl9hIiwiX2IiLCJjb3B5QnRuIiwiZGVsZXRlQnRuIiwiZGVmYXVsdERvbSIsImFzc2lnbiIsImRvbVByb3BzIiwidHlwZSIsInNldmVyaXR5Iiwib25DbGljayIsImV2ZW50IiwiZGlzYWJsZWQiLCJjaGlsZHJlbiIsImNvbmNhdCIsInJlbmRlcmVkQWN0aW9ucyIsImZpbHRlciIsIkJvb2xlYW4iLCJyb3dOb2RlIiwiY2xhc3NOYW1lIiwibGlzdERvbSIsIlByb0Zvcm1MaXN0Um93Qm9keSIsIlNvcnRhYmxlUHJvRm9ybUxpc3RSb3dCYXNlIiwicHJvcHMiLCJfdXNlU29ydGFibGUiLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwic2V0Tm9kZVJlZiIsInRyYW5zZm9ybSIsInRyYW5zaXRpb24iLCJpc0RyYWdnaW5nIiwic3R5bGUiLCJUcmFuc2Zvcm0iLCJ0b1N0cmluZyIsInVuZGVmaW5lZCIsImN1cnNvciIsIm9wYWNpdHkiLCJyZWYiLCJTb3J0YWJsZVByb0Zvcm1MaXN0Um93IiwiQ3JlYXRvckJ1dHRvbiIsIl9yZWY0IiwiY29uZmlnIiwib25BZGQiLCJ0ZXh0IiwiXyIsInBvc2l0aW9uIiwiYWRkIiwiUHJvRm9ybUxpc3RCYXNlIiwibmFtZSIsImxhYmVsIiwibWluIiwibWF4IiwiaW5pdGlhbFZhbHVlIiwiY3JlYXRvckJ1dHRvblByb3BzIiwic29ydGFibGUiLCJvbkFmdGVyQWRkIiwib25BZnRlclJlbW92ZSIsImluaXRpYWxBcHBsaWVkIiwiX3VzZUZvcm1Db250ZXh0IiwiY29udHJvbCIsIl91c2VGaWVsZEFycmF5IiwiYXBwZW5kIiwicmVtb3ZlIiwiaW5zZXJ0IiwicmVwbGFjZSIsIndhdGNoZWRMaXN0IiwibGlzdFNuYXBzaG90IiwiQXJyYXkiLCJpc0FycmF5IiwiY3VycmVudCIsImRlZmF1bHRWYWx1ZSIsInZhbHVlIiwibWVtb2l6ZWRNb3ZlIiwiZ2V0TGlzdCIsIm1hcHBlZEZpZWxkcyIsIm1hcCIsImZpZWxkIiwia2V5IiwiaGFzQ3JlYXRvciIsImNyZWF0b3JDb25maWciLCJjcmVhdG9yUG9zaXRpb24iLCJhZGRGcm9tVG9wQ3JlYXRvciIsImFkZEZyb21Cb3R0b21DcmVhdG9yIiwiYWN0aW9uUm93cyIsInJvd1JlY29yZCIsInNvcnRhYmxlSWRzIiwiZHJhZ0VuZEhhbmRsZXIiLCJhY3Rpb25zTm9kZSIsIm9uRHJhZ0VuZCIsIml0ZW1zIiwic3RyYXRlZ3kiLCJkaXNwbGF5TmFtZSIsIlByb0Zvcm1MaXN0Il0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQ0NaLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEVBQzFFUixDQUFDLENBQUNDLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMs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TUFBS3FFLFNBQVMsS0FBQUwsTUFBQSxDQUFLNUMsVUFBVSxrQkFBZTtNQUFBMkMsUUFBQSxFQUFHTztJQUFPLENBQUEsQ0FBTyxFQUM3RHRFLElBQUEsQ0FBQSxLQUFBLEVBQUE7TUFBS3FFLFNBQVMsS0FBQUwsTUFBQSxDQUFLNUMsVUFBVSxrQkFBZTtNQUFBMkMsUUFBQSxFQUFHMEU7SUFBVyxDQUFBLENBQU8sRUFFaEVQLGVBQWUsS0FBSyxRQUFRLElBQzNCbEksSUFBQSxDQUFDeUYsYUFBYSxFQUFBO01BQUNFLE1BQU0sRUFBRXNDLGFBQWE7TUFBRXJGLE1BQU0sRUFBRUEsTUFBTTtNQUFFZ0QsS0FBSyxFQUFFd0M7SUFBb0IsQ0FBQSxDQUNsRjtFQUFBLENBQUEsQ0FDRztBQUVWLENBQUM7QUFFRG5DLGVBQWUsQ0FBQzRDLFdBQVcsR0FBRyxhQUFhO0FBRTNDLE9BQU8sSUFBTUMsV0FBVyxnQkFBR3BJLElBQUksQ0FBQ3VGLGVBQWUsQ0FBQztBQUVoRCxlQUFlNkMsV0FBVyIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vUHJvRm9ybUxpc3QuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIid1c2UgY2xpZW50JztcbnZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IERuZENvbnRleHQgfSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUsIHZlcnRpY2FsTGlzdFNvcnRpbmdTdHJhdGVneSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB1c2VNZW1vaXplZEZuIGZyb20gJy4uL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHsgdXNlRmllbGRBcnJheSwgdXNlRm9ybUNvbnRleHQsIHVzZVdhdGNoIH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XG5pbXBvcnQgeyBDU1NfUFJFRklYLCBERUZBVUxUX1RFWFQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vc3R5bGUvUHJvRm9ybS5tb2R1bGUuc2Nzcyc7XG5pbXBvcnQgeyBleHRyYWN0QnV0dG9uUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbi8qKlxuICogQ3JlYXRlcyBhIGBEbmRDb250ZXh0YCBgb25EcmFnRW5kYCBoYW5kbGVyIHRoYXQgdHJhbnNsYXRlcyBkcmFnIGV2ZW50c1xuICogaW50byBmaWVsZCBhcnJheSBgbW92ZWAgY2FsbHMuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMubW92ZSAtIFRoZSBgbW92ZWAgZnVuY3Rpb24gZnJvbSBgdXNlRmllbGRBcnJheWAuXG4gKiBAcGFyYW0gb3B0aW9ucy5maWVsZHMgLSBUaGUgY3VycmVudCBmaWVsZCBhcnJheSBlbnRyaWVzLlxuICogQHJldHVybnMgQSBkcmFnLWVuZCBldmVudCBoYW5kbGVyLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRPbkRyYWdFbmQgPSAoeyBtb3ZlLCBmaWVsZHMsIH0pID0+IHtcbiAgICByZXR1cm4gKHsgYWN0aXZlLCBvdmVyIH0pID0+IHtcbiAgICAgICAgaWYgKCFvdmVyIHx8IGFjdGl2ZS5pZCA9PT0gb3Zlci5pZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3Qgb2xkSW5kZXggPSBmaWVsZHMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gU3RyaW5nKGFjdGl2ZS5pZCkpO1xuICAgICAgICBjb25zdCBuZXdJbmRleCA9IGZpZWxkcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBTdHJpbmcob3Zlci5pZCkpO1xuICAgICAgICBpZiAob2xkSW5kZXggPj0gMCAmJiBuZXdJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBtb3ZlKG9sZEluZGV4LCBuZXdJbmRleCk7XG4gICAgICAgIH1cbiAgICB9O1xufTtcbi8qKiBAaW50ZXJuYWwgUmVuZGVycyBjb3B5L2RlbGV0ZSBhY3Rpb24gYnV0dG9ucyBmb3IgYSBzaW5nbGUgbGlzdCByb3cuICovXG5jb25zdCBQcm9Gb3JtTGlzdFJvd0JvZHlCYXNlID0gKHsgZmllbGRJZCwgaW5kZXgsIHJlY29yZCwgY29weUljb25Qcm9wcywgZGVsZXRlSWNvblByb3BzLCBjYW5BZGQsIGNhblJlbW92ZSwgY29weSwgcmVtb3ZlQXQsIGFjdGlvbiwgYWN0aW9uUmVuZGVyLCBpdGVtUmVuZGVyLCB9KSA9PiB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCBjb3B5QnRuID0gZXh0cmFjdEJ1dHRvblByb3BzKGNvcHlJY29uUHJvcHMpO1xuICAgIGNvbnN0IGRlbGV0ZUJ0biA9IGV4dHJhY3RCdXR0b25Qcm9wcyhkZWxldGVJY29uUHJvcHMpO1xuICAgIGNvbnN0IGRlZmF1bHREb20gPSB7XG4gICAgICAgIGRlbGV0ZTogZGVsZXRlSWNvblByb3BzID09PSBmYWxzZVxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IChfanN4KEJ1dHRvbiwgT2JqZWN0LmFzc2lnbih7fSwgZGVsZXRlQnRuLmRvbVByb3BzLCB7IHR5cGU6ICdidXR0b24nLCBzZXZlcml0eTogJ3NlY29uZGFyeScsIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIHJlbW92ZUF0KGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgKF9hID0gZGVsZXRlQnRuLm9uQ2xpY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGRlbGV0ZUJ0biwgZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0sIGRpc2FibGVkOiAhY2FuUmVtb3ZlIHx8IGRlbGV0ZUJ0bi5kaXNhYmxlZCwgY2hpbGRyZW46IChfYSA9IGRlbGV0ZUJ0bi5jaGlsZHJlbikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogREVGQVVMVF9URVhULmRlbGV0ZSB9KSwgYGRlbGV0ZS0ke2ZpZWxkSWR9YCkpLFxuICAgICAgICBjb3B5OiBjb3B5SWNvblByb3BzID09PSBmYWxzZVxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IChfanN4KEJ1dHRvbiwgT2JqZWN0LmFzc2lnbih7fSwgY29weUJ0bi5kb21Qcm9wcywgeyB0eXBlOiAnYnV0dG9uJywgc2V2ZXJpdHk6ICdzZWNvbmRhcnknLCBvbkNsaWNrOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICBjb3B5KGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgKF9hID0gY29weUJ0bi5vbkNsaWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChjb3B5QnRuLCBldmVudCk7XG4gICAgICAgICAgICAgICAgfSwgZGlzYWJsZWQ6ICFjYW5BZGQgfHwgY29weUJ0bi5kaXNhYmxlZCwgY2hpbGRyZW46IChfYiA9IGNvcHlCdG4uY2hpbGRyZW4pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IERFRkFVTFRfVEVYVC5jb3B5IH0pLCBgY29weS0ke2ZpZWxkSWR9YCkpLFxuICAgIH07XG4gICAgY29uc3QgcmVuZGVyZWRBY3Rpb25zID0gYWN0aW9uUmVuZGVyXG4gICAgICAgID8gYWN0aW9uUmVuZGVyKHsgaW5kZXgsIHJlY29yZCB9LCBhY3Rpb24sIGRlZmF1bHREb20pXG4gICAgICAgIDogW2RlZmF1bHREb20uY29weSwgZGVmYXVsdERvbS5kZWxldGVdLmZpbHRlcihCb29sZWFuKTtcbiAgICBjb25zdCByb3dOb2RlID0gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGpvaW5DbHMoc3R5bGVzWydwcm9mb3JtX19saXN0LXJvdy1hY3Rpb25zJ10sIGAke0NTU19QUkVGSVh9LWxpc3Qtcm93LWFjdGlvbnNgKSwgY2hpbGRyZW46IHJlbmRlcmVkQWN0aW9ucyB9KSk7XG4gICAgaWYgKCFpdGVtUmVuZGVyKVxuICAgICAgICByZXR1cm4gcm93Tm9kZTtcbiAgICByZXR1cm4gX2pzeChfRnJhZ21lbnQsIHsgY2hpbGRyZW46IGl0ZW1SZW5kZXIoeyBsaXN0RG9tOiByb3dOb2RlLCBhY3Rpb24gfSkgfSk7XG59O1xuY29uc3QgUHJvRm9ybUxpc3RSb3dCb2R5ID0gbWVtbyhQcm9Gb3JtTGlzdFJvd0JvZHlCYXNlKTtcbi8qKiBAaW50ZXJuYWwgRHJhZy1hbmQtZHJvcCB3cmFwcGVyIGZvciBhIHNvcnRhYmxlIGxpc3Qgcm93LiAqL1xuY29uc3QgU29ydGFibGVQcm9Gb3JtTGlzdFJvd0Jhc2UgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkSWQgfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24sIGlzRHJhZ2dpbmcsIH0gPSB1c2VTb3J0YWJsZSh7IGlkOiBmaWVsZElkIH0pO1xuICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zZm9ybSA/IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNpdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIGN1cnNvcjogJ2dyYWInLFxuICAgICAgICBvcGFjaXR5OiBpc0RyYWdnaW5nID8gMC44IDogMSxcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgcmVmOiBzZXROb2RlUmVmLCBzdHlsZTogc3R5bGUsIFwiZGF0YS1zb3J0YWJsZVwiOiAndHJ1ZScgfSwgYXR0cmlidXRlcywgbGlzdGVuZXJzLCB7IGNoaWxkcmVuOiBfanN4KFByb0Zvcm1MaXN0Um93Qm9keSwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMpKSB9KSkpO1xufTtcbmNvbnN0IFNvcnRhYmxlUHJvRm9ybUxpc3RSb3cgPSBtZW1vKFNvcnRhYmxlUHJvRm9ybUxpc3RSb3dCYXNlKTtcbi8qKiBAaW50ZXJuYWwgUmVuZGVycyB0aGUgXCJhZGQgcm93XCIgYnV0dG9uIGZvciB7QGxpbmsgUHJvRm9ybUxpc3R9LiAqL1xuY29uc3QgQ3JlYXRvckJ1dHRvbiA9ICh7IGNvbmZpZywgY2FuQWRkLCBvbkFkZCB9KSA9PiB7XG4gICAgaWYgKCFjb25maWcpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHsgdGV4dCwgcG9zaXRpb246IF8sIG9uQ2xpY2ssIGRpc2FibGVkIH0gPSBjb25maWcsIGRvbVByb3BzID0gX19yZXN0KGNvbmZpZywgW1widGV4dFwiLCBcInBvc2l0aW9uXCIsIFwib25DbGlja1wiLCBcImRpc2FibGVkXCJdKTtcbiAgICByZXR1cm4gKF9qc3goQnV0dG9uLCBPYmplY3QuYXNzaWduKHt9LCBkb21Qcm9wcywgeyB0eXBlOiAnYnV0dG9uJywgb25DbGljazogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBvbkFkZCgpO1xuICAgICAgICAgICAgb25DbGljayA9PT0gbnVsbCB8fCBvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgfSwgZGlzYWJsZWQ6ICFjYW5BZGQgfHwgISFkaXNhYmxlZCwgY2hpbGRyZW46IHRleHQgIT09IG51bGwgJiYgdGV4dCAhPT0gdm9pZCAwID8gdGV4dCA6IERFRkFVTFRfVEVYVC5hZGQgfSkpKTtcbn07XG4vKipcbiAqIER5bmFtaWMsIHJlcGVhdGFibGUgZm9ybSBmaWVsZCBsaXN0IHdpdGggYWRkLCByZW1vdmUsIGNvcHksIGFuZFxuICogZHJhZy1hbmQtZHJvcCByZW9yZGVyaW5nIGNhcGFiaWxpdGllcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiA8UHJvRm9ybUxpc3QgbmFtZT1cIml0ZW1zXCIgbWluPXsxfSBtYXg9ezV9IHNvcnRhYmxlPlxuICogICB7KGZpZWxkcykgPT4gZmllbGRzLm1hcCgoeyBuYW1lLCBrZXkgfSkgPT4gKFxuICogICAgIDxQcm9Gb3JtVGV4dCBrZXk9e2tleX0gbmFtZT17YCR7bmFtZX0udGl0bGVgfSBsYWJlbD1cIlRpdGxlXCIgLz5cbiAqICAgKSl9XG4gKiA8L1Byb0Zvcm1MaXN0PlxuICogYGBgXG4gKi9cbmNvbnN0IFByb0Zvcm1MaXN0QmFzZSA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IG5hbWUsIGxhYmVsLCBtaW4sIG1heCwgaW5pdGlhbFZhbHVlLCBjb3B5SWNvblByb3BzLCBkZWxldGVJY29uUHJvcHMsIGNyZWF0b3JCdXR0b25Qcm9wcywgc29ydGFibGUsIGl0ZW1SZW5kZXIsIGFjdGlvblJlbmRlciwgY2hpbGRyZW4sIG9uQWZ0ZXJBZGQsIG9uQWZ0ZXJSZW1vdmUsIH0gPSBwcm9wcztcbiAgICBjb25zdCBpbml0aWFsQXBwbGllZCA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgeyBjb250cm9sIH0gPSB1c2VGb3JtQ29udGV4dCgpO1xuICAgIGNvbnN0IHsgZmllbGRzLCBhcHBlbmQsIHJlbW92ZSwgbW92ZSwgaW5zZXJ0LCByZXBsYWNlIH0gPSB1c2VGaWVsZEFycmF5KHtcbiAgICAgICAgY29udHJvbCxcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICB9KTtcbiAgICBjb25zdCB3YXRjaGVkTGlzdCA9IHVzZVdhdGNoKHsgY29udHJvbCwgbmFtZTogbmFtZSB9KTtcbiAgICBjb25zdCBsaXN0U25hcHNob3QgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkod2F0Y2hlZExpc3QpID8gd2F0Y2hlZExpc3QgOiBbXTtcbiAgICB9LCBbd2F0Y2hlZExpc3RdKTtcbiAgICAvLyBBcHBseSBgaW5pdGlhbFZhbHVlYCBvbmx5IG9uY2U6IGBpbml0aWFsQXBwbGllZC5jdXJyZW50YCBwcmV2ZW50cyByZS1lbnRyeSxcbiAgICAvLyBzbyBldmVuIGlmIGZ1dHVyZSByZW5kZXJzIHBhc3MgYSBuZXcgYGluaXRpYWxWYWx1ZWAgYXJyYXkgcmVmZXJlbmNlLCB0aGlzXG4gICAgLy8gZWZmZWN0IHdpbGwgbm90IGNhbGwgYHJlcGxhY2VgIGFnYWluIG9uY2UgaW5pdGlhbGl6YXRpb24gaGFzIGhhcHBlbmVkLlxuICAgIC8vIElmIHJlLWFwcGxpY2F0aW9uIG9uIGBpbml0aWFsVmFsdWVgIGNoYW5nZXMgaXMgZGVzaXJlZCwgcmVzZXRcbiAgICAvLyBgaW5pdGlhbEFwcGxpZWQuY3VycmVudGAgaW50ZW50aW9uYWxseSAob3IgcmVtb3ZlIHRoaXMgZ3VhcmQgYW5kIGRpZmYgdmFsdWVzKS5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoaW5pdGlhbEFwcGxpZWQuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGZpZWxkcy5sZW5ndGggIT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShpbml0aWFsVmFsdWUpIHx8IGluaXRpYWxWYWx1ZS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGluaXRpYWxBcHBsaWVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICByZXBsYWNlKGluaXRpYWxWYWx1ZSk7XG4gICAgfSwgW2ZpZWxkcy5sZW5ndGgsIGluaXRpYWxWYWx1ZSwgcmVwbGFjZV0pO1xuICAgIGNvbnN0IGNhbkFkZCA9IG1heCA9PSBudWxsIHx8IGZpZWxkcy5sZW5ndGggPCBtYXg7XG4gICAgY29uc3QgY2FuUmVtb3ZlID0gbWluID09IG51bGwgfHwgZmllbGRzLmxlbmd0aCA+IG1pbjtcbiAgICBjb25zdCBhZGQgPSB1c2VNZW1vaXplZEZuKChkZWZhdWx0VmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmICghY2FuQWRkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHZvaWQgMCA/IGRlZmF1bHRWYWx1ZSA6IHt9O1xuICAgICAgICBpZiAodHlwZW9mIGluZGV4ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgaW5zZXJ0KGluZGV4LCB2YWx1ZSk7XG4gICAgICAgICAgICBvbkFmdGVyQWRkID09PSBudWxsIHx8IG9uQWZ0ZXJBZGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQWZ0ZXJBZGQodmFsdWUsIGluZGV4KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBhcHBlbmQodmFsdWUpO1xuICAgICAgICBvbkFmdGVyQWRkID09PSBudWxsIHx8IG9uQWZ0ZXJBZGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQWZ0ZXJBZGQodmFsdWUsIGZpZWxkcy5sZW5ndGgpO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlbW92ZUF0ID0gdXNlTWVtb2l6ZWRGbigoaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKCFjYW5SZW1vdmUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHJlbW92ZShpbmRleCk7XG4gICAgICAgIG9uQWZ0ZXJSZW1vdmUgPT09IG51bGwgfHwgb25BZnRlclJlbW92ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25BZnRlclJlbW92ZShpbmRleCk7XG4gICAgfSk7XG4gICAgY29uc3QgY29weSA9IHVzZU1lbW9pemVkRm4oKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFjYW5BZGQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHZhbHVlID0gKF9hID0gbGlzdFNuYXBzaG90W2luZGV4XSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge307XG4gICAgICAgIGFkZCh2YWx1ZSwgaW5kZXggKyAxKTtcbiAgICB9KTtcbiAgICBjb25zdCBtZW1vaXplZE1vdmUgPSB1c2VNZW1vaXplZEZuKG1vdmUpO1xuICAgIGNvbnN0IGdldExpc3QgPSB1c2VNZW1vaXplZEZuKCgpID0+IGxpc3RTbmFwc2hvdCk7XG4gICAgY29uc3QgYWN0aW9uID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICBhZGQsXG4gICAgICAgIHJlbW92ZTogcmVtb3ZlQXQsXG4gICAgICAgIG1vdmU6IG1lbW9pemVkTW92ZSxcbiAgICAgICAgY29weSxcbiAgICAgICAgZ2V0TGlzdCxcbiAgICB9KSwgW2FkZCwgY29weSwgZ2V0TGlzdCwgbWVtb2l6ZWRNb3ZlLCByZW1vdmVBdF0pO1xuICAgIGNvbnN0IG1hcHBlZEZpZWxkcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgbmFtZTogYCR7U3RyaW5nKG5hbWUpfS4ke2luZGV4fWAsXG4gICAgICAgICAgICBrZXk6IGZpZWxkLmlkLFxuICAgICAgICB9KSk7XG4gICAgfSwgW2ZpZWxkcywgbmFtZV0pO1xuICAgIGNvbnN0IGxpc3REb20gPSB0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBjaGlsZHJlbihtYXBwZWRGaWVsZHMsIGFjdGlvbilcbiAgICAgICAgOiBjaGlsZHJlbjtcbiAgICBjb25zdCBoYXNDcmVhdG9yID0gY3JlYXRvckJ1dHRvblByb3BzICE9PSBmYWxzZTtcbiAgICBjb25zdCBjcmVhdG9yQ29uZmlnID0gaGFzQ3JlYXRvclxuICAgICAgICA/IE9iamVjdC5hc3NpZ24oe30sIChjcmVhdG9yQnV0dG9uUHJvcHMgfHwge30pKSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjcmVhdG9yUG9zaXRpb24gPSAoX2EgPSBjcmVhdG9yQ29uZmlnID09PSBudWxsIHx8IGNyZWF0b3JDb25maWcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNyZWF0b3JDb25maWcucG9zaXRpb24pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdib3R0b20nO1xuICAgIGNvbnN0IGFkZEZyb21Ub3BDcmVhdG9yID0gdXNlTWVtb2l6ZWRGbigoKSA9PiBhZGQoe30sIDApKTtcbiAgICBjb25zdCBhZGRGcm9tQm90dG9tQ3JlYXRvciA9IHVzZU1lbW9pemVkRm4oKCkgPT4gYWRkKCkpO1xuICAgIGNvbnN0IGFjdGlvblJvd3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgcm93UmVjb3JkID0gbGlzdFNuYXBzaG90W2luZGV4XTtcbiAgICAgICAgICAgIGlmIChzb3J0YWJsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChTb3J0YWJsZVByb0Zvcm1MaXN0Um93LCB7IGZpZWxkSWQ6IGZpZWxkLmlkLCBpbmRleDogaW5kZXgsIHJlY29yZDogcm93UmVjb3JkLCBjb3B5SWNvblByb3BzOiBjb3B5SWNvblByb3BzLCBkZWxldGVJY29uUHJvcHM6IGRlbGV0ZUljb25Qcm9wcywgY2FuQWRkOiBjYW5BZGQsIGNhblJlbW92ZTogY2FuUmVtb3ZlLCBjb3B5OiBjb3B5LCByZW1vdmVBdDogcmVtb3ZlQXQsIGFjdGlvbjogYWN0aW9uLCBhY3Rpb25SZW5kZXI6IGFjdGlvblJlbmRlciwgaXRlbVJlbmRlcjogaXRlbVJlbmRlciB9LCBmaWVsZC5pZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1MaXN0Um93Qm9keSwgeyBmaWVsZElkOiBmaWVsZC5pZCwgaW5kZXg6IGluZGV4LCByZWNvcmQ6IHJvd1JlY29yZCwgY29weUljb25Qcm9wczogY29weUljb25Qcm9wcywgZGVsZXRlSWNvblByb3BzOiBkZWxldGVJY29uUHJvcHMsIGNhbkFkZDogY2FuQWRkLCBjYW5SZW1vdmU6IGNhblJlbW92ZSwgY29weTogY29weSwgcmVtb3ZlQXQ6IHJlbW92ZUF0LCBhY3Rpb246IGFjdGlvbiwgYWN0aW9uUmVuZGVyOiBhY3Rpb25SZW5kZXIsIGl0ZW1SZW5kZXI6IGl0ZW1SZW5kZXIgfSwgZmllbGQuaWQpKTtcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICBhY3Rpb24sXG4gICAgICAgIGFjdGlvblJlbmRlcixcbiAgICAgICAgY2FuQWRkLFxuICAgICAgICBjYW5SZW1vdmUsXG4gICAgICAgIGNvcHksXG4gICAgICAgIGNvcHlJY29uUHJvcHMsXG4gICAgICAgIGRlbGV0ZUljb25Qcm9wcyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICBpdGVtUmVuZGVyLFxuICAgICAgICBsaXN0U25hcHNob3QsXG4gICAgICAgIHJlbW92ZUF0LFxuICAgICAgICBzb3J0YWJsZSxcbiAgICBdKTtcbiAgICBjb25zdCBzb3J0YWJsZUlkcyA9IHVzZU1lbW8oKCkgPT4gZmllbGRzLm1hcChpdGVtID0+IGl0ZW0uaWQpLCBbZmllbGRzXSk7XG4gICAgY29uc3QgZHJhZ0VuZEhhbmRsZXIgPSB1c2VNZW1vKCgpID0+IGJ1aWxkT25EcmFnRW5kKHsgbW92ZSwgZmllbGRzOiBmaWVsZHMgfSksIFtmaWVsZHMsIG1vdmVdKTtcbiAgICBjb25zdCBhY3Rpb25zTm9kZSA9IHNvcnRhYmxlXG4gICAgICAgID8gKF9qc3goRG5kQ29udGV4dCwgeyBvbkRyYWdFbmQ6IGRyYWdFbmRIYW5kbGVyLCBjaGlsZHJlbjogX2pzeChTb3J0YWJsZUNvbnRleHQsIHsgaXRlbXM6IHNvcnRhYmxlSWRzLCBzdHJhdGVneTogdmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5LCBjaGlsZHJlbjogYWN0aW9uUm93cyB9KSB9KSlcbiAgICAgICAgOiBhY3Rpb25Sb3dzO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGpvaW5DbHMoc3R5bGVzWydwcm9mb3JtX19saXN0J10sIGAke0NTU19QUkVGSVh9LWxpc3RgKSwgY2hpbGRyZW46IFtsYWJlbCAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBqb2luQ2xzKHN0eWxlc1sncHJvZm9ybV9fbGlzdC1sYWJlbCddLCBgJHtDU1NfUFJFRklYfS1saXN0LWxhYmVsYCksIGNoaWxkcmVuOiBsYWJlbCB9KSwgY3JlYXRvclBvc2l0aW9uID09PSAndG9wJyAmJiAoX2pzeChDcmVhdG9yQnV0dG9uLCB7IGNvbmZpZzogY3JlYXRvckNvbmZpZywgY2FuQWRkOiBjYW5BZGQsIG9uQWRkOiBhZGRGcm9tVG9wQ3JlYXRvciB9KSksIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke0NTU19QUkVGSVh9LWxpc3QtY29udGVudGAsIGNoaWxkcmVuOiBsaXN0RG9tIH0pLCBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBgJHtDU1NfUFJFRklYfS1saXN0LWFjdGlvbnNgLCBjaGlsZHJlbjogYWN0aW9uc05vZGUgfSksIGNyZWF0b3JQb3NpdGlvbiA9PT0gJ2JvdHRvbScgJiYgKF9qc3goQ3JlYXRvckJ1dHRvbiwgeyBjb25maWc6IGNyZWF0b3JDb25maWcsIGNhbkFkZDogY2FuQWRkLCBvbkFkZDogYWRkRnJvbUJvdHRvbUNyZWF0b3IgfSkpXSB9KSk7XG59O1xuUHJvRm9ybUxpc3RCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1MaXN0JztcbmV4cG9ydCBjb25zdCBQcm9Gb3JtTGlzdCA9IG1lbW8oUHJvRm9ybUxpc3RCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1MaXN0OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|