@1money/component-ui 0.0.93-alpha.3 → 0.0.94-alpha.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.
Files changed (47) hide show
  1. package/es/components/Button/Button.js +14 -16
  2. package/es/components/Button/constants.d.ts +8 -12
  3. package/es/components/Button/constants.js +8 -27
  4. package/es/components/Button/style/Button.css +2 -11
  5. package/es/components/Input/Input/Input.css +6 -1
  6. package/es/components/Input/Input/Input.js +6 -2
  7. package/es/components/Input/OTP/OTP.css +2 -7
  8. package/es/components/Input/OTP/OTP.js +8 -4
  9. package/es/components/Input/constants.js +7 -3
  10. package/es/components/Input/interface.d.ts +2 -1
  11. package/es/components/Table/style/Table.css +10 -10
  12. package/es/components/Typography/Typography.js +10 -4
  13. package/es/components/Typography/constants.d.ts +2 -0
  14. package/es/components/Typography/interface.d.ts +8 -1
  15. package/es/components/Typography/interface.js +2 -2
  16. package/es/components/Typography/render.js +3 -1
  17. package/es/components/Typography/style/Typography.css +9 -58
  18. package/es/components/Typography/useTypographyEnhancements.d.ts +1 -0
  19. package/es/components/Typography/useTypographyEnhancements.js +1 -1
  20. package/es/components/Typography/utils.js +4 -2
  21. package/es/index.css +1 -1
  22. package/es/styles/index.css +7 -10
  23. package/lib/components/Button/Button.js +12 -14
  24. package/lib/components/Button/constants.d.ts +8 -12
  25. package/lib/components/Button/constants.js +9 -28
  26. package/lib/components/Button/style/Button.css +2 -11
  27. package/lib/components/Input/Input/Input.css +6 -1
  28. package/lib/components/Input/Input/Input.js +6 -2
  29. package/lib/components/Input/OTP/OTP.css +2 -7
  30. package/lib/components/Input/OTP/OTP.js +8 -4
  31. package/lib/components/Input/constants.js +7 -3
  32. package/lib/components/Input/interface.d.ts +2 -1
  33. package/lib/components/Table/style/Table.css +10 -10
  34. package/lib/components/Typography/Typography.js +10 -4
  35. package/lib/components/Typography/constants.d.ts +2 -0
  36. package/lib/components/Typography/interface.d.ts +8 -1
  37. package/lib/components/Typography/interface.js +2 -2
  38. package/lib/components/Typography/render.js +3 -1
  39. package/lib/components/Typography/style/Typography.css +9 -58
  40. package/lib/components/Typography/useTypographyEnhancements.d.ts +1 -0
  41. package/lib/components/Typography/useTypographyEnhancements.js +1 -1
  42. package/lib/components/Typography/utils.js +4 -2
  43. package/lib/index.css +1 -1
  44. package/lib/styles/index.css +7 -10
  45. package/package.json +1 -1
  46. package/scripts/mcp-server/examples.generated.json +6 -6
  47. package/scripts/mcp-server/index.generated.json +17 -26
@@ -45,11 +45,11 @@
45
45
  overflow-wrap: break-word;
46
46
  background: var(--om-bg-default-secondary, #f8f8f8);
47
47
  border-bottom: 1px solid var(--om-border-neutral, #e3e4e4);
48
- font-size: var(--om-title-xs-font-size);
49
- font-family: var(--om-title-xs-font-family);
50
- line-height: var(--om-title-xs-line-height);
51
- letter-spacing: var(--om-title-xs-letter-spacing);
52
- font-weight: var(--om-title-xs-font-weight);
48
+ font-size: var(--om-label-sm-font-size);
49
+ font-family: var(--om-label-sm-font-family);
50
+ line-height: var(--om-label-sm-line-height);
51
+ letter-spacing: var(--om-label-sm-letter-spacing);
52
+ font-weight: var(--om-label-sm-font-weight);
53
53
  }
54
54
  .om-component-ui-table-tbody > tr > td {
55
55
  position: relative;
@@ -219,11 +219,11 @@
219
219
  .om-component-ui-table .om-component-ui-table-header-cell__title {
220
220
  color: var(--om-text-default, #131313);
221
221
  white-space: nowrap;
222
- font-size: var(--om-title-xs-font-size);
223
- font-family: var(--om-title-xs-font-family);
224
- line-height: var(--om-title-xs-line-height);
225
- letter-spacing: var(--om-title-xs-letter-spacing);
226
- font-weight: var(--om-title-xs-strong-font-weight);
222
+ font-size: var(--om-label-sm-font-size);
223
+ font-family: var(--om-label-sm-font-family);
224
+ line-height: var(--om-label-sm-line-height);
225
+ letter-spacing: var(--om-label-sm-letter-spacing);
226
+ font-weight: var(--om-label-sm-strong-font-weight);
227
227
  }
228
228
  .om-component-ui-table .om-component-ui-table-sort-trigger {
229
229
  display: inline-flex;
@@ -19,7 +19,9 @@ function createTypographyVariant(config) {
19
19
  defaultLayoutMode = config.defaultLayoutMode,
20
20
  displayName = config.displayName,
21
21
  _config$supportsStron = config.supportsStrong,
22
- supportsStrong = _config$supportsStron === void 0 ? false : _config$supportsStron;
22
+ supportsStrong = _config$supportsStron === void 0 ? false : _config$supportsStron,
23
+ _config$supportsSingl = config.supportsSingleLine,
24
+ supportsSingleLine = _config$supportsSingl === void 0 ? false : _config$supportsSingl;
23
25
  var Base = /*#__PURE__*/forwardRef(function (props, ref) {
24
26
  var children = props.children,
25
27
  _props$className = props.className,
@@ -44,8 +46,10 @@ function createTypographyVariant(config) {
44
46
  rest = __rest(props, ["children", "className", "prefixCls", "as", "id", "size", "color", "style", "italic", "underline", "delete", "disabled", "ellipsis", "copyable"]);
45
47
  var _a = rest,
46
48
  strongProp = _a.strong,
47
- htmlProps = __rest(_a, ["strong"]);
49
+ singleLineProp = _a.singleLine,
50
+ htmlProps = __rest(_a, ["strong", "singleLine"]);
48
51
  var strong = supportsStrong ? strongProp !== null && strongProp !== void 0 ? strongProp : false : false;
52
+ var singleLine = supportsSingleLine ? singleLineProp !== null && singleLineProp !== void 0 ? singleLineProp : false : false;
49
53
  var Component = as !== null && as !== void 0 ? as : defaultTag;
50
54
  var enhancement = useTypographyEnhancements({
51
55
  componentTag: Component,
@@ -67,6 +71,7 @@ function createTypographyVariant(config) {
67
71
  size: size,
68
72
  color: color,
69
73
  strong: strong,
74
+ singleLine: singleLine,
70
75
  italic: italic,
71
76
  underline: underline,
72
77
  isDeleted: isDeleted,
@@ -106,7 +111,8 @@ export var TypographyBody = createTypographyVariant({
106
111
  defaultTag: 'span',
107
112
  defaultLayoutMode: INLINE_LAYOUT,
108
113
  displayName: 'Typography.Body',
109
- supportsStrong: true
114
+ supportsStrong: true,
115
+ supportsSingleLine: true
110
116
  });
111
117
  export var TypographyLabel = createTypographyVariant({
112
118
  category: 'label',
@@ -198,4 +204,4 @@ export var Typography = {
198
204
  Link: TypographyLink
199
205
  };
200
206
  export default Typography;
201
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVHlwb2dyYXBoeS9UeXBvZ3JhcGh5LmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9UeXBvZ3JhcGh5L1R5cG9ncmFwaHkudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwidXNlRXZlbnRDYWxsYmFjayIsImZvcndhcmRSZWYiLCJtZW1vIiwiQkxPQ0tfTEFZT1VUIiwiSU5MSU5FX0xBWU9VVCIsIlRZUE9HUkFQSFlfUFJFRklYIiwiYXNzaWduUmVmIiwidXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cyIsImJ1aWxkVHlwb2dyYXBoeVRleHROb2RlUHJvcHMiLCJyZW5kZXJUeXBvZ3JhcGh5QW5jaG9yVGFnIiwicmVuZGVyVHlwb2dyYXBoeVRleHRUYWciLCJyZW5kZXJXaXRoRW5oYW5jZW1lbnRzIiwiY3JlYXRlVHlwb2dyYXBoeVZhcmlhbnQiLCJjb25maWciLCJjYXRlZ29yeSIsImRlZmF1bHRUYWciLCJkZWZhdWx0TGF5b3V0TW9kZSIsImRpc3BsYXlOYW1lIiwiX2NvbmZpZyRzdXBwb3J0c1N0cm9uIiwic3VwcG9ydHNTdHJvbmciLCJCYXNlIiwicHJvcHMiLCJyZWYiLCJjaGlsZHJlbiIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiYXMiLCJpZCIsInNpemUiLCJjb2xvciIsInN0eWxlIiwiX3Byb3BzJGl0YWxpYyIsIml0YWxpYyIsIl9wcm9wcyR1bmRlcmxpbmUiLCJ1bmRlcmxpbmUiLCJfcHJvcHMkZGVsZXRlIiwiaXNEZWxldGVkIiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJlbGxpcHNpcyIsImNvcHlhYmxlIiwicmVzdCIsIl9hIiwic3Ryb25nUHJvcCIsInN0cm9uZyIsImh0bWxQcm9wcyIsIkNvbXBvbmVudCIsImVuaGFuY2VtZW50IiwiY29tcG9uZW50VGFnIiwiaGFuZGxlVGV4dFJlZiIsIm5vZGUiLCJzZXRUZXh0Tm9kZSIsInRleHRFbGVtZW50IiwiTWVtb2l6ZWQiLCJUeXBvZ3JhcGh5RGlzcGxheSIsIlR5cG9ncmFwaHlIZWFkbGluZSIsIlR5cG9ncmFwaHlUaXRsZSIsIlR5cG9ncmFwaHlCb2R5IiwiVHlwb2dyYXBoeUxhYmVsIiwiVHlwb2dyYXBoeUxpbmtCYXNlIiwiX3Byb3BzJGNsYXNzTmFtZTIiLCJfcHJvcHMkcHJlZml4Q2xzMiIsIl9wcm9wcyRpdGFsaWMyIiwiX3Byb3BzJHVuZGVybGluZTIiLCJfcHJvcHMkZGVsZXRlMiIsIl9wcm9wcyRkaXNhYmxlZDIiLCJocmVmIiwib25DbGljayIsInJlbCIsInRhYkluZGV4IiwidGFyZ2V0IiwicmVzb2x2ZWRSZWwiLCJ1bmRlZmluZWQiLCJoYW5kbGVDbGljayIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJhc3NpZ24iLCJUeXBvZ3JhcGh5TGluayIsIlR5cG9ncmFwaHkiLCJEaXNwbGF5IiwiSGVhZGxpbmUiLCJUaXRsZSIsIkJvZHkiLCJMYWJlbCIsIkxpbmsiXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENB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QVEsRUFBRS9CLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRytCLFFBQVE7SUFDbENGLE9BQU8sRUFBRU07RUFBVyxDQUFBLENBQUEsRUFFdEJuRSw0QkFBNEIsQ0FBQztJQUMzQm1CLFNBQVMsRUFBVEEsU0FBUztJQUNURixTQUFTLEVBQVRBLFNBQVM7SUFDVFgsUUFBUSxFQUFFLE1BQU07SUFDaEJnQixJQUFJLEVBQUpBLElBQUk7SUFDSkMsS0FBSyxFQUFMQSxLQUFLO0lBQ0xHLE1BQU0sRUFBTkEsTUFBTTtJQUNORSxTQUFTLEVBQVRBLFNBQVM7SUFDVEUsU0FBUyxFQUFUQSxTQUFTO0lBQ1RFLFFBQVEsRUFBUkEsUUFBUTtJQUNSUixLQUFLLEVBQUxBLEtBQUs7SUFDTFQsUUFBUSxFQUFSQSxRQUFRO0lBQ1IwQixXQUFXLEVBQVhBO0VEbkZGLENDb0ZDLENBQUMsRUFDRkUsYUFBYSxDQUNkO0VBRUQsT0FBT3hDLHNCQUFzQixDQUFDMkMsV0FBVyxFQUFFTCxXQUFXLEVBQUV0QixTQUFTLENBQUM7QUFDcEUsQ0FBQyxDQUFDO0FBRUZrQyxrQkFBa0IsQ0FBQzVDLFdBQVcsR0FBRyxpQkFBaUI7QUFFbEQsT0FBTyxJQUFNK0QsY0FBYyxnQkFBRzlFLElBQUksQ0FBQzJELGtCQUFrQixDQUFDO0FBRXREbUIsY0FBYyxDQUFDL0QsV0FBVyxHQUFHLGlCQUFpQjtBQUU5QyxPQUFPLElBQU1nRSxVQUFVLEdBQUc7RUFDeEJDLE9BQU8sRUFBRTFCLGlCQUFpQjtFQUMxQjJCLFFBQVEsRUFBRTFCLGtCQUFrQjtFQUM1QjJCLEtBQUssRUFBRTFCLGVBQWU7RUFDdEIyQixJQUFJLEVBQUUxQixjQUFjO0VBQ3BCMkIsS0FBSyxFQUFFMUIsZUFBZTtFQUN0QjJCLElBQUksRUFBRVA7QUQxRlIsQ0MyRkM7QUFFRCxlQUFlQyxVQUFVIiwiZmlsZSI6ImNvbXBvbmVudHMvVHlwb2dyYXBoeS9UeXBvZ3JhcGh5LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB7IGZvcndhcmRSZWYsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCTE9DS19MQVlPVVQsIElOTElORV9MQVlPVVQsIFRZUE9HUkFQSFlfUFJFRklYIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYXNzaWduUmVmIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyB1c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzIH0gZnJvbSAnLi91c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzJztcbmltcG9ydCB7IGJ1aWxkVHlwb2dyYXBoeVRleHROb2RlUHJvcHMsIHJlbmRlclR5cG9ncmFwaHlBbmNob3JUYWcsIHJlbmRlclR5cG9ncmFwaHlUZXh0VGFnLCByZW5kZXJXaXRoRW5oYW5jZW1lbnRzLCB9IGZyb20gJy4vcmVuZGVyJztcbmltcG9ydCAnLi9zdHlsZSc7XG5mdW5jdGlvbiBjcmVhdGVUeXBvZ3JhcGh5VmFyaWFudChjb25maWcpIHtcbiAgICBjb25zdCB7IGNhdGVnb3J5LCBkZWZhdWx0VGFnLCBkZWZhdWx0TGF5b3V0TW9kZSwgZGlzcGxheU5hbWUsIHN1cHBvcnRzU3Ryb25nID0gZmFsc2UgfSA9IGNvbmZpZztcbiAgICBjb25zdCBCYXNlID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgICAgICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gVFlQT0dSQVBIWV9QUkVGSVgsIGFzLCBpZCwgc2l6ZSwgY29sb3IsIHN0eWxlLCBpdGFsaWMgPSBmYWxzZSwgdW5kZXJsaW5lID0gZmFsc2UsIGRlbGV0ZTogaXNEZWxldGVkID0gZmFsc2UsIGRpc2FibGVkID0gZmFsc2UsIGVsbGlwc2lzLCBjb3B5YWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwiYXNcIiwgXCJpZFwiLCBcInNpemVcIiwgXCJjb2xvclwiLCBcInN0eWxlXCIsIFwiaXRhbGljXCIsIFwidW5kZXJsaW5lXCIsIFwiZGVsZXRlXCIsIFwiZGlzYWJsZWRcIiwgXCJlbGxpcHNpc1wiLCBcImNvcHlhYmxlXCJdKTtcbiAgICAgICAgY29uc3QgX2EgPSByZXN0LCB7IHN0cm9uZzogc3Ryb25nUHJvcCB9ID0gX2EsIGh0bWxQcm9wcyA9IF9fcmVzdChfYSwgW1wic3Ryb25nXCJdKTtcbiAgICAgICAgY29uc3Qgc3Ryb25nID0gc3VwcG9ydHNTdHJvbmcgPyAoc3Ryb25nUHJvcCAhPT0gbnVsbCAmJiBzdHJvbmdQcm9wICE9PSB2b2lkIDAgPyBzdHJvbmdQcm9wIDogZmFsc2UpIDogZmFsc2U7XG4gICAgICAgIGNvbnN0IENvbXBvbmVudCA9IChhcyAhPT0gbnVsbCAmJiBhcyAhPT0gdm9pZCAwID8gYXMgOiBkZWZhdWx0VGFnKTtcbiAgICAgICAgY29uc3QgZW5oYW5jZW1lbnQgPSB1c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzKHtcbiAgICAgICAgICAgIGNvbXBvbmVudFRhZzogQ29tcG9uZW50LFxuICAgICAgICAgICAgZGVmYXVsdExheW91dE1vZGUsXG4gICAgICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgZWxsaXBzaXMsXG4gICAgICAgICAgICBjb3B5YWJsZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGhhbmRsZVRleHRSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgICAgICBlbmhhbmNlbWVudC5zZXRUZXh0Tm9kZShub2RlKTtcbiAgICAgICAgICAgIGFzc2lnblJlZihyZWYsIG5vZGUpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSByZW5kZXJUeXBvZ3JhcGh5VGV4dFRhZyhDb21wb25lbnQsIGh0bWxQcm9wcywgYnVpbGRUeXBvZ3JhcGh5VGV4dE5vZGVQcm9wcyh7XG4gICAgICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICBjYXRlZ29yeSxcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICBjb2xvcixcbiAgICAgICAgICAgIHN0cm9uZyxcbiAgICAgICAgICAgIGl0YWxpYyxcbiAgICAgICAgICAgIHVuZGVybGluZSxcbiAgICAgICAgICAgIGlzRGVsZXRlZCxcbiAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgIGVuaGFuY2VtZW50LFxuICAgICAgICB9KSwgaGFuZGxlVGV4dFJlZik7XG4gICAgICAgIHJldHVybiByZW5kZXJXaXRoRW5oYW5jZW1lbnRzKHRleHRFbGVtZW50LCBlbmhhbmNlbWVudCwgcHJlZml4Q2xzKTtcbiAgICB9KTtcbiAgICBCYXNlLmRpc3BsYXlOYW1lID0gZGlzcGxheU5hbWU7XG4gICAgY29uc3QgTWVtb2l6ZWQgPSBtZW1vKEJhc2UpO1xuICAgIE1lbW9pemVkLmRpc3BsYXlOYW1lID0gZGlzcGxheU5hbWU7XG4gICAgcmV0dXJuIE1lbW9pemVkO1xufVxuZXhwb3J0IGNvbnN0IFR5cG9ncmFwaHlEaXNwbGF5ID0gY3JlYXRlVHlwb2dyYXBoeVZhcmlhbnQoe1xuICAgIGNhdGVnb3J5OiAnZGlzcGxheScsXG4gICAgZGVmYXVsdFRhZzogJ2RpdicsXG4gICAgZGVmYXVsdExheW91dE1vZGU6IEJMT0NLX0xBWU9VVCxcbiAgICBkaXNwbGF5TmFtZTogJ1R5cG9ncmFwaHkuRGlzcGxheScsXG59KTtcbmV4cG9ydCBjb25zdCBUeXBvZ3JhcGh5SGVhZGxpbmUgPSBjcmVhdGVUeXBvZ3JhcGh5VmFyaWFudCh7XG4gICAgY2F0ZWdvcnk6ICdoZWFkbGluZScsXG4gICAgZGVmYXVsdFRhZzogJ2RpdicsXG4gICAgZGVmYXVsdExheW91dE1vZGU6IEJMT0NLX0xBWU9VVCxcbiAgICBkaXNwbGF5TmFtZTogJ1R5cG9ncmFwaHkuSGVhZGxpbmUnLFxufSk7XG5leHBvcnQgY29uc3QgVHlwb2dyYXBoeVRpdGxlID0gY3JlYXRlVHlwb2dyYXBoeVZhcmlhbnQoe1xuICAgIGNhdGVnb3J5OiAndGl0bGUnLFxuICAgIGRlZmF1bHRUYWc6ICdkaXYnLFxuICAgIGRlZmF1bHRMYXlvdXRNb2RlOiBCTE9DS19MQVlPVVQsXG4gICAgZGlzcGxheU5hbWU6ICdUeXBvZ3JhcGh5LlRpdGxlJyxcbiAgICBzdXBwb3J0c1N0cm9uZzogdHJ1ZSxcbn0pO1xuZXhwb3J0IGNvbnN0IFR5cG9ncmFwaHlCb2R5ID0gY3JlYXRlVHlwb2dyYXBoeVZhcmlhbnQoe1xuICAgIGNhdGVnb3J5OiAnYm9keScsXG4gICAgZGVmYXVsdFRhZzogJ3NwYW4nLFxuICAgIGRlZmF1bHRMYXlvdXRNb2RlOiBJTkxJTkVfTEFZT1VULFxuICAgIGRpc3BsYXlOYW1lOiAnVHlwb2dyYXBoeS5Cb2R5JyxcbiAgICBzdXBwb3J0c1N0cm9uZzogdHJ1ZSxcbn0pO1xuZXhwb3J0IGNvbnN0IFR5cG9ncmFwaHlMYWJlbCA9IGNyZWF0ZVR5cG9ncmFwaHlWYXJpYW50KHtcbiAgICBjYXRlZ29yeTogJ2xhYmVsJyxcbiAgICBkZWZhdWx0VGFnOiAnbGFiZWwnLFxuICAgIGRlZmF1bHRMYXlvdXRNb2RlOiBJTkxJTkVfTEFZT1VULFxuICAgIGRpc3BsYXlOYW1lOiAnVHlwb2dyYXBoeS5MYWJlbCcsXG4gICAgc3VwcG9ydHNTdHJvbmc6IHRydWUsXG59KTtcbmNvbnN0IFR5cG9ncmFwaHlMaW5rQmFzZSA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gVFlQT0dSQVBIWV9QUkVGSVgsIGlkLCBzaXplLCBjb2xvciwgc3R5bGUsIGl0YWxpYyA9IGZhbHNlLCB1bmRlcmxpbmUgPSBmYWxzZSwgZGVsZXRlOiBpc0RlbGV0ZWQgPSBmYWxzZSwgZGlzYWJsZWQgPSBmYWxzZSwgZWxsaXBzaXMsIGNvcHlhYmxlLCBocmVmLCBvbkNsaWNrLCByZWwsIHRhYkluZGV4LCB0YXJnZXQgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcImlkXCIsIFwic2l6ZVwiLCBcImNvbG9yXCIsIFwic3R5bGVcIiwgXCJpdGFsaWNcIiwgXCJ1bmRlcmxpbmVcIiwgXCJkZWxldGVcIiwgXCJkaXNhYmxlZFwiLCBcImVsbGlwc2lzXCIsIFwiY29weWFibGVcIiwgXCJocmVmXCIsIFwib25DbGlja1wiLCBcInJlbFwiLCBcInRhYkluZGV4XCIsIFwidGFyZ2V0XCJdKTtcbiAgICBjb25zdCByZXNvbHZlZFJlbCA9IHRhcmdldCA9PT0gJ19ibGFuaycgJiYgcmVsID09PSB1bmRlZmluZWQgPyAnbm9yZWZlcnJlcicgOiByZWw7XG4gICAgY29uc3QgZW5oYW5jZW1lbnQgPSB1c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzKHtcbiAgICAgICAgY29tcG9uZW50VGFnOiAnYScsXG4gICAgICAgIGRlZmF1bHRMYXlvdXRNb2RlOiBJTkxJTkVfTEFZT1VULFxuICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgIGlkLFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgZWxsaXBzaXMsXG4gICAgICAgIGNvcHlhYmxlLFxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhldmVudCk7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVUZXh0UmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICBlbmhhbmNlbWVudC5zZXRUZXh0Tm9kZShub2RlKTtcbiAgICAgICAgYXNzaWduUmVmKHJlZiwgbm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3QgdGV4dEVsZW1lbnQgPSByZW5kZXJUeXBvZ3JhcGh5QW5jaG9yVGFnKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcmVzdCksIHsgaHJlZjogZGlzYWJsZWQgPyB1bmRlZmluZWQgOiBocmVmLCB0YXJnZXQsIHJlbDogcmVzb2x2ZWRSZWwsICdhcmlhLWRpc2FibGVkJzogZGlzYWJsZWQgfHwgdW5kZWZpbmVkLCB0YWJJbmRleDogZGlzYWJsZWQgPyAtMSA6IHRhYkluZGV4LCBvbkNsaWNrOiBoYW5kbGVDbGljayB9KSwgYnVpbGRUeXBvZ3JhcGh5VGV4dE5vZGVQcm9wcyh7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICBjYXRlZ29yeTogJ2xpbmsnLFxuICAgICAgICBzaXplLFxuICAgICAgICBjb2xvcixcbiAgICAgICAgaXRhbGljLFxuICAgICAgICB1bmRlcmxpbmUsXG4gICAgICAgIGlzRGVsZXRlZCxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHN0eWxlLFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgZW5oYW5jZW1lbnQsXG4gICAgfSksIGhhbmRsZVRleHRSZWYpO1xuICAgIHJldHVybiByZW5kZXJXaXRoRW5oYW5jZW1lbnRzKHRleHRFbGVtZW50LCBlbmhhbmNlbWVudCwgcHJlZml4Q2xzKTtcbn0pO1xuVHlwb2dyYXBoeUxpbmtCYXNlLmRpc3BsYXlOYW1lID0gJ1R5cG9ncmFwaHkuTGluayc7XG5leHBvcnQgY29uc3QgVHlwb2dyYXBoeUxpbmsgPSBtZW1vKFR5cG9ncmFwaHlMaW5rQmFzZSk7XG5UeXBvZ3JhcGh5TGluay5kaXNwbGF5TmFtZSA9ICdUeXBvZ3JhcGh5LkxpbmsnO1xuZXhwb3J0IGNvbnN0IFR5cG9ncmFwaHkgPSB7XG4gICAgRGlzcGxheTogVHlwb2dyYXBoeURpc3BsYXksXG4gICAgSGVhZGxpbmU6IFR5cG9ncmFwaHlIZWFkbGluZSxcbiAgICBUaXRsZTogVHlwb2dyYXBoeVRpdGxlLFxuICAgIEJvZHk6IFR5cG9ncmFwaHlCb2R5LFxuICAgIExhYmVsOiBUeXBvZ3JhcGh5TGFiZWwsXG4gICAgTGluazogVHlwb2dyYXBoeUxpbmssXG59O1xuZXhwb3J0IGRlZmF1bHQgVHlwb2dyYXBoeTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
207
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVHlwb2dyYXBoeS9UeXBvZ3JhcGh5LmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9UeXBvZ3JhcGh5L1R5cG9ncmFwaHkudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwidXNlRXZlbnRDYWxsYmFjayIsImZvcndhcmRSZWYiLCJtZW1vIiwiQkxPQ0tfTEFZT1VUIiwiSU5MSU5FX0xBWU9VVCIsIlRZUE9HUkFQSFlfUFJFRklYIiwiYXNzaWduUmVmIiwidXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cyIsImJ1aWxkVHlwb2dyYXBoeVRleHROb2RlUHJvcHMiLCJyZW5kZXJUeXBvZ3JhcGh5QW5jaG9yVGFnIiwicmVuZGVyVHlwb2dyYXBoeVRleHRUYWciLCJyZW5kZXJXaXRoRW5oYW5jZW1lbnRzIiwiY3JlYXRlVHlwb2dyYXBoeVZhcmlhbnQiLCJjb25maWciLCJjYXRlZ29yeSIsImRlZmF1bHRUYWciLCJkZWZhdWx0TGF5b3V0TW9kZSIsImRpc3BsYXlOYW1lIiwiX2NvbmZpZyRzdXBwb3J0c1N0cm9uIiwic3VwcG9ydHNTdHJvbmciLCJfY29uZmlnJHN1cHBvcnRzU2luZ2wiLCJzdXBwb3J0c1NpbmdsZUxpbmUiLCJCYXNlIiwicHJvcHMiLCJyZWYiLCJjaGlsZHJlbiIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiYXMiLCJpZCIsInNpemUiLCJjb2xvciIsInN0eWxlIiwiX3Byb3BzJGl0YWxpYyIsIml0YWxpYyIsIl9wcm9wcyR1bmRlcmxpbmUiLCJ1bmRlcmxpbmUiLCJfcHJvcHMkZGVsZXRlIiwiaXNEZWxldGVkIiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJlbGxpcHNpcyIsImNvcHlhYmxlIiwicmVzdCIsIl9hIiwic3Ryb25nUHJvcCIsInN0cm9uZyIsInNpbmdsZUxpbmVQcm9wIiwic2luZ2xlTGluZSIsImh0bWxQcm9wcyIsIkNvbXBvbmVudCIsImVuaGFuY2VtZW50IiwiY29tcG9uZW50VGFnIiwiaGFuZGxlVGV4dFJlZiIsIm5vZGUiLCJzZXRUZXh0Tm9kZSIsInRleHRFbGVtZW50IiwiTWVtb2l6ZWQiLCJUeXBvZ3JhcGh5RGlzcGxheSIsIlR5cG9ncmFwaHlIZWFkbGluZSIsIlR5cG9ncmFwaHlUaXRsZSIsIlR5cG9ncmFwaHlCb2R5IiwiVHlwb2dyYXBoeUxhYmVsIiwiVHlwb2dyYXBoeUxpbmtCYXNlIiwiX3Byb3BzJGNsYXNzTmFtZTIiLCJfcHJvcHMkcHJlZml4Q2xzMiIsIl9wcm9wcyRpdGFsaWMyIiwiX3Byb3BzJHVuZGVybGluZTIiLCJfcHJvcHMkZGVsZXRlMiIsIl9wcm9wcyRkaXNhYmxlZDIiLCJocmVmIiwib25DbGljayIsInJlbCIsInRhYkluZGV4IiwidGFyZ2V0IiwicmVzb2x2ZWRSZWwiLCJ1bmRlZmluZWQiLCJoYW5kbGVDbGljayIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJhc3NpZ24iLCJUeXBvZ3JhcGh5TGluayIsIlR5cG9ncmFwaHkiLCJEaXNwbGF5IiwiSGVhZGxpbmUiLCJUaXRsZSIsIkJvZHkiLCJMYWJlbCIsIkxpbmsiXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FB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QixDQUFDO0FBRXREbUIsY0FBYyxDQUFDbkUsV0FBVyxHQUFHLGlCQUFpQjtBQUU5QyxPQUFPLElBQU1vRSxVQUFVLEdBQUc7RUFDeEJDLE9BQU8sRUFBRTFCLGlCQUFpQjtFQUMxQjJCLFFBQVEsRUFBRTFCLGtCQUFrQjtFQUM1QjJCLEtBQUssRUFBRTFCLGVBQWU7RUFDdEIyQixJQUFJLEVBQUUxQixjQUFjO0VBQ3BCMkIsS0FBSyxFQUFFMUIsZUFBZTtFQUN0QjJCLElBQUksRUFBRVA7QURyR1IsQ0NzR0M7QUFFRCxlQUFlQyxVQUFVIiwiZmlsZSI6ImNvbXBvbmVudHMvVHlwb2dyYXBoeS9UeXBvZ3JhcGh5LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB7IGZvcndhcmRSZWYsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCTE9DS19MQVlPVVQsIElOTElORV9MQVlPVVQsIFRZUE9HUkFQSFlfUFJFRklYIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYXNzaWduUmVmIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyB1c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzIH0gZnJvbSAnLi91c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzJztcbmltcG9ydCB7IGJ1aWxkVHlwb2dyYXBoeVRleHROb2RlUHJvcHMsIHJlbmRlclR5cG9ncmFwaHlBbmNob3JUYWcsIHJlbmRlclR5cG9ncmFwaHlUZXh0VGFnLCByZW5kZXJXaXRoRW5oYW5jZW1lbnRzLCB9IGZyb20gJy4vcmVuZGVyJztcbmltcG9ydCAnLi9zdHlsZSc7XG5mdW5jdGlvbiBjcmVhdGVUeXBvZ3JhcGh5VmFyaWFudChjb25maWcpIHtcbiAgICBjb25zdCB7IGNhdGVnb3J5LCBkZWZhdWx0VGFnLCBkZWZhdWx0TGF5b3V0TW9kZSwgZGlzcGxheU5hbWUsIHN1cHBvcnRzU3Ryb25nID0gZmFsc2UsIHN1cHBvcnRzU2luZ2xlTGluZSA9IGZhbHNlLCB9ID0gY29uZmlnO1xuICAgIGNvbnN0IEJhc2UgPSBmb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSBUWVBPR1JBUEhZX1BSRUZJWCwgYXMsIGlkLCBzaXplLCBjb2xvciwgc3R5bGUsIGl0YWxpYyA9IGZhbHNlLCB1bmRlcmxpbmUgPSBmYWxzZSwgZGVsZXRlOiBpc0RlbGV0ZWQgPSBmYWxzZSwgZGlzYWJsZWQgPSBmYWxzZSwgZWxsaXBzaXMsIGNvcHlhYmxlIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJhc1wiLCBcImlkXCIsIFwic2l6ZVwiLCBcImNvbG9yXCIsIFwic3R5bGVcIiwgXCJpdGFsaWNcIiwgXCJ1bmRlcmxpbmVcIiwgXCJkZWxldGVcIiwgXCJkaXNhYmxlZFwiLCBcImVsbGlwc2lzXCIsIFwiY29weWFibGVcIl0pO1xuICAgICAgICBjb25zdCBfYSA9IHJlc3QsIHsgc3Ryb25nOiBzdHJvbmdQcm9wLCBzaW5nbGVMaW5lOiBzaW5nbGVMaW5lUHJvcCB9ID0gX2EsIGh0bWxQcm9wcyA9IF9fcmVzdChfYSwgW1wic3Ryb25nXCIsIFwic2luZ2xlTGluZVwiXSk7XG4gICAgICAgIGNvbnN0IHN0cm9uZyA9IHN1cHBvcnRzU3Ryb25nID8gKHN0cm9uZ1Byb3AgIT09IG51bGwgJiYgc3Ryb25nUHJvcCAhPT0gdm9pZCAwID8gc3Ryb25nUHJvcCA6IGZhbHNlKSA6IGZhbHNlO1xuICAgICAgICBjb25zdCBzaW5nbGVMaW5lID0gc3VwcG9ydHNTaW5nbGVMaW5lID8gKHNpbmdsZUxpbmVQcm9wICE9PSBudWxsICYmIHNpbmdsZUxpbmVQcm9wICE9PSB2b2lkIDAgPyBzaW5nbGVMaW5lUHJvcCA6IGZhbHNlKSA6IGZhbHNlO1xuICAgICAgICBjb25zdCBDb21wb25lbnQgPSAoYXMgIT09IG51bGwgJiYgYXMgIT09IHZvaWQgMCA/IGFzIDogZGVmYXVsdFRhZyk7XG4gICAgICAgIGNvbnN0IGVuaGFuY2VtZW50ID0gdXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cyh7XG4gICAgICAgICAgICBjb21wb25lbnRUYWc6IENvbXBvbmVudCxcbiAgICAgICAgICAgIGRlZmF1bHRMYXlvdXRNb2RlLFxuICAgICAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgIGVsbGlwc2lzLFxuICAgICAgICAgICAgY29weWFibGUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBoYW5kbGVUZXh0UmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICAgICAgZW5oYW5jZW1lbnQuc2V0VGV4dE5vZGUobm9kZSk7XG4gICAgICAgICAgICBhc3NpZ25SZWYocmVmLCBub2RlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHRleHRFbGVtZW50ID0gcmVuZGVyVHlwb2dyYXBoeVRleHRUYWcoQ29tcG9uZW50LCBodG1sUHJvcHMsIGJ1aWxkVHlwb2dyYXBoeVRleHROb2RlUHJvcHMoe1xuICAgICAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgY29sb3IsXG4gICAgICAgICAgICBzdHJvbmcsXG4gICAgICAgICAgICBzaW5nbGVMaW5lLFxuICAgICAgICAgICAgaXRhbGljLFxuICAgICAgICAgICAgdW5kZXJsaW5lLFxuICAgICAgICAgICAgaXNEZWxldGVkLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgZW5oYW5jZW1lbnQsXG4gICAgICAgIH0pLCBoYW5kbGVUZXh0UmVmKTtcbiAgICAgICAgcmV0dXJuIHJlbmRlcldpdGhFbmhhbmNlbWVudHModGV4dEVsZW1lbnQsIGVuaGFuY2VtZW50LCBwcmVmaXhDbHMpO1xuICAgIH0pO1xuICAgIEJhc2UuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTtcbiAgICBjb25zdCBNZW1vaXplZCA9IG1lbW8oQmFzZSk7XG4gICAgTWVtb2l6ZWQuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTtcbiAgICByZXR1cm4gTWVtb2l6ZWQ7XG59XG5leHBvcnQgY29uc3QgVHlwb2dyYXBoeURpc3BsYXkgPSBjcmVhdGVUeXBvZ3JhcGh5VmFyaWFudCh7XG4gICAgY2F0ZWdvcnk6ICdkaXNwbGF5JyxcbiAgICBkZWZhdWx0VGFnOiAnZGl2JyxcbiAgICBkZWZhdWx0TGF5b3V0TW9kZTogQkxPQ0tfTEFZT1VULFxuICAgIGRpc3BsYXlOYW1lOiAnVHlwb2dyYXBoeS5EaXNwbGF5Jyxcbn0pO1xuZXhwb3J0IGNvbnN0IFR5cG9ncmFwaHlIZWFkbGluZSA9IGNyZWF0ZVR5cG9ncmFwaHlWYXJpYW50KHtcbiAgICBjYXRlZ29yeTogJ2hlYWRsaW5lJyxcbiAgICBkZWZhdWx0VGFnOiAnZGl2JyxcbiAgICBkZWZhdWx0TGF5b3V0TW9kZTogQkxPQ0tfTEFZT1VULFxuICAgIGRpc3BsYXlOYW1lOiAnVHlwb2dyYXBoeS5IZWFkbGluZScsXG59KTtcbmV4cG9ydCBjb25zdCBUeXBvZ3JhcGh5VGl0bGUgPSBjcmVhdGVUeXBvZ3JhcGh5VmFyaWFudCh7XG4gICAgY2F0ZWdvcnk6ICd0aXRsZScsXG4gICAgZGVmYXVsdFRhZzogJ2RpdicsXG4gICAgZGVmYXVsdExheW91dE1vZGU6IEJMT0NLX0xBWU9VVCxcbiAgICBkaXNwbGF5TmFtZTogJ1R5cG9ncmFwaHkuVGl0bGUnLFxuICAgIHN1cHBvcnRzU3Ryb25nOiB0cnVlLFxufSk7XG5leHBvcnQgY29uc3QgVHlwb2dyYXBoeUJvZHkgPSBjcmVhdGVUeXBvZ3JhcGh5VmFyaWFudCh7XG4gICAgY2F0ZWdvcnk6ICdib2R5JyxcbiAgICBkZWZhdWx0VGFnOiAnc3BhbicsXG4gICAgZGVmYXVsdExheW91dE1vZGU6IElOTElORV9MQVlPVVQsXG4gICAgZGlzcGxheU5hbWU6ICdUeXBvZ3JhcGh5LkJvZHknLFxuICAgIHN1cHBvcnRzU3Ryb25nOiB0cnVlLFxuICAgIHN1cHBvcnRzU2luZ2xlTGluZTogdHJ1ZSxcbn0pO1xuZXhwb3J0IGNvbnN0IFR5cG9ncmFwaHlMYWJlbCA9IGNyZWF0ZVR5cG9ncmFwaHlWYXJpYW50KHtcbiAgICBjYXRlZ29yeTogJ2xhYmVsJyxcbiAgICBkZWZhdWx0VGFnOiAnbGFiZWwnLFxuICAgIGRlZmF1bHRMYXlvdXRNb2RlOiBJTkxJTkVfTEFZT1VULFxuICAgIGRpc3BsYXlOYW1lOiAnVHlwb2dyYXBoeS5MYWJlbCcsXG4gICAgc3VwcG9ydHNTdHJvbmc6IHRydWUsXG59KTtcbmNvbnN0IFR5cG9ncmFwaHlMaW5rQmFzZSA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gVFlQT0dSQVBIWV9QUkVGSVgsIGlkLCBzaXplLCBjb2xvciwgc3R5bGUsIGl0YWxpYyA9IGZhbHNlLCB1bmRlcmxpbmUgPSBmYWxzZSwgZGVsZXRlOiBpc0RlbGV0ZWQgPSBmYWxzZSwgZGlzYWJsZWQgPSBmYWxzZSwgZWxsaXBzaXMsIGNvcHlhYmxlLCBocmVmLCBvbkNsaWNrLCByZWwsIHRhYkluZGV4LCB0YXJnZXQgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcImlkXCIsIFwic2l6ZVwiLCBcImNvbG9yXCIsIFwic3R5bGVcIiwgXCJpdGFsaWNcIiwgXCJ1bmRlcmxpbmVcIiwgXCJkZWxldGVcIiwgXCJkaXNhYmxlZFwiLCBcImVsbGlwc2lzXCIsIFwiY29weWFibGVcIiwgXCJocmVmXCIsIFwib25DbGlja1wiLCBcInJlbFwiLCBcInRhYkluZGV4XCIsIFwidGFyZ2V0XCJdKTtcbiAgICBjb25zdCByZXNvbHZlZFJlbCA9IHRhcmdldCA9PT0gJ19ibGFuaycgJiYgcmVsID09PSB1bmRlZmluZWQgPyAnbm9yZWZlcnJlcicgOiByZWw7XG4gICAgY29uc3QgZW5oYW5jZW1lbnQgPSB1c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzKHtcbiAgICAgICAgY29tcG9uZW50VGFnOiAnYScsXG4gICAgICAgIGRlZmF1bHRMYXlvdXRNb2RlOiBJTkxJTkVfTEFZT1VULFxuICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgIGlkLFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgZWxsaXBzaXMsXG4gICAgICAgIGNvcHlhYmxlLFxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhldmVudCk7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVUZXh0UmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICBlbmhhbmNlbWVudC5zZXRUZXh0Tm9kZShub2RlKTtcbiAgICAgICAgYXNzaWduUmVmKHJlZiwgbm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3QgdGV4dEVsZW1lbnQgPSByZW5kZXJUeXBvZ3JhcGh5QW5jaG9yVGFnKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcmVzdCksIHsgaHJlZjogZGlzYWJsZWQgPyB1bmRlZmluZWQgOiBocmVmLCB0YXJnZXQsIHJlbDogcmVzb2x2ZWRSZWwsICdhcmlhLWRpc2FibGVkJzogZGlzYWJsZWQgfHwgdW5kZWZpbmVkLCB0YWJJbmRleDogZGlzYWJsZWQgPyAtMSA6IHRhYkluZGV4LCBvbkNsaWNrOiBoYW5kbGVDbGljayB9KSwgYnVpbGRUeXBvZ3JhcGh5VGV4dE5vZGVQcm9wcyh7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICBjYXRlZ29yeTogJ2xpbmsnLFxuICAgICAgICBzaXplLFxuICAgICAgICBjb2xvcixcbiAgICAgICAgaXRhbGljLFxuICAgICAgICB1bmRlcmxpbmUsXG4gICAgICAgIGlzRGVsZXRlZCxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHN0eWxlLFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgZW5oYW5jZW1lbnQsXG4gICAgfSksIGhhbmRsZVRleHRSZWYpO1xuICAgIHJldHVybiByZW5kZXJXaXRoRW5oYW5jZW1lbnRzKHRleHRFbGVtZW50LCBlbmhhbmNlbWVudCwgcHJlZml4Q2xzKTtcbn0pO1xuVHlwb2dyYXBoeUxpbmtCYXNlLmRpc3BsYXlOYW1lID0gJ1R5cG9ncmFwaHkuTGluayc7XG5leHBvcnQgY29uc3QgVHlwb2dyYXBoeUxpbmsgPSBtZW1vKFR5cG9ncmFwaHlMaW5rQmFzZSk7XG5UeXBvZ3JhcGh5TGluay5kaXNwbGF5TmFtZSA9ICdUeXBvZ3JhcGh5LkxpbmsnO1xuZXhwb3J0IGNvbnN0IFR5cG9ncmFwaHkgPSB7XG4gICAgRGlzcGxheTogVHlwb2dyYXBoeURpc3BsYXksXG4gICAgSGVhZGxpbmU6IFR5cG9ncmFwaHlIZWFkbGluZSxcbiAgICBUaXRsZTogVHlwb2dyYXBoeVRpdGxlLFxuICAgIEJvZHk6IFR5cG9ncmFwaHlCb2R5LFxuICAgIExhYmVsOiBUeXBvZ3JhcGh5TGFiZWwsXG4gICAgTGluazogVHlwb2dyYXBoeUxpbmssXG59O1xuZXhwb3J0IGRlZmF1bHQgVHlwb2dyYXBoeTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -17,6 +17,7 @@ export interface TypographyClassNameOptions {
17
17
  size: string;
18
18
  color?: string;
19
19
  strong?: boolean;
20
+ singleLine?: boolean;
20
21
  italic?: boolean;
21
22
  underline?: boolean;
22
23
  isDeleted?: boolean;
@@ -30,4 +31,5 @@ export interface VariantConfig {
30
31
  defaultLayoutMode: TypographyLayoutMode;
31
32
  displayName: string;
32
33
  supportsStrong?: boolean;
34
+ supportsSingleLine?: boolean;
33
35
  }
@@ -2,7 +2,7 @@ import type { AnchorHTMLAttributes, HTMLAttributes, ReactNode } from 'react';
2
2
  import type { TooltipProps } from "../Tooltip";
3
3
  export declare const TYPOGRAPHY_DISPLAY_SIZES: readonly ["xl", "lg", "md", "sm", "xs"];
4
4
  export declare const TYPOGRAPHY_HEADLINE_SIZES: readonly ["lg", "md", "sm", "xs"];
5
- export declare const TYPOGRAPHY_TITLE_SIZES: readonly ["lg", "md", "sm", "xs"];
5
+ export declare const TYPOGRAPHY_TITLE_SIZES: readonly ["lg", "md", "sm"];
6
6
  export declare const TYPOGRAPHY_BODY_SIZES: readonly ["lg", "md", "sm"];
7
7
  export declare const TYPOGRAPHY_LABEL_SIZES: readonly ["xl", "lg", "md", "sm", "xs"];
8
8
  export declare const TYPOGRAPHY_LINK_SIZES: readonly ["md", "sm"];
@@ -60,6 +60,13 @@ export interface TypographyTitleProps extends BaseHTMLProps, TypographyStrongPro
60
60
  export interface TypographyBodyProps extends BaseHTMLProps, TypographyStrongProps {
61
61
  size: TypographyBodySize;
62
62
  as?: TypographyBodyTag;
63
+ /**
64
+ * Applies Figma's `Single Line/Body *` line-height (20/16/16 instead of
65
+ * 22/20/16) for text that never wraps — button labels, table cells, tags.
66
+ * Figma authors those styles at weight 500, so pair it with `strong` to match
67
+ * a Figma `Single Line` style exactly.
68
+ */
69
+ singleLine?: boolean;
63
70
  }
64
71
  export interface TypographyLabelProps extends BaseHTMLProps, TypographyStrongProps {
65
72
  size: TypographyLabelSize;
@@ -1,6 +1,6 @@
1
1
  export var TYPOGRAPHY_DISPLAY_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];
2
2
  export var TYPOGRAPHY_HEADLINE_SIZES = ['lg', 'md', 'sm', 'xs'];
3
- export var TYPOGRAPHY_TITLE_SIZES = ['lg', 'md', 'sm', 'xs'];
3
+ export var TYPOGRAPHY_TITLE_SIZES = ['lg', 'md', 'sm'];
4
4
  export var TYPOGRAPHY_BODY_SIZES = ['lg', 'md', 'sm'];
5
5
  export var TYPOGRAPHY_LABEL_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];
6
6
  export var TYPOGRAPHY_LINK_SIZES = ['md', 'sm'];
@@ -19,4 +19,4 @@ export var TYPOGRAPHY_COLORS = [
19
19
  'warning', 'warning-secondary', 'warning-tertiary', 'on-warning', 'on-warning-secondary', 'on-warning-tertiary',
20
20
  // Danger
21
21
  'danger', 'danger-secondary', 'danger-tertiary', 'on-danger', 'on-danger-secondary', 'on-danger-tertiary'];
22
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS9pbnRlcmZhY2UudHMiXSwibmFtZXMiOlsiVFlQT0dSQVBIWV9ESVNQTEFZX1NJWkVTIiwiVFlQT0dSQVBIWV9IRUFETElORV9TSVpFUyIsIlRZUE9HUkFQSFlfVElUTEVfU0laRVMiLCJUWVBPR1JBUEhZX0JPRFlfU0laRVMiLCJUWVBPR1JBUEhZX0xBQkVMX1NJWkVTIiwiVFlQT0dSQVBIWV9MSU5LX1NJWkVTIiwiVFlQT0dSQVBIWV9DT0xPUlMiXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sSUFBTUEsd0JBQXdCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFVO0FBQy9FLE9BQU8sSUFBTUMseUJBQXlCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQVU7QUFDMUUsT0FBTyxJQUFNQyxzQkFBc0IsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBVTtBQUN2RSxPQUFPLElBQU1DLHFCQUFxQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQVU7QUFDaEUsT0FBTyxJQUFNQyxzQkFBc0IsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQVU7QUFDN0UsT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQVU7QUFnQjFELE9BQU8sSUFBTUMsaUJBQWlCLEdBQUc7QUFDL0I7QUFDQSxTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLGtCQUFrQjtBQUNsQjtBQUNBLFVBQVU7QUFDVjtBQUNBLE9BQU8sRUFDUCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsbUJBQW1CO0FBQ25CO0FBQ0EsU0FBUyxFQUNULG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixxQkFBcUI7QUFDckI7QUFDQSxVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLHNCQUFzQjtBQUN0QjtBQUNBLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixzQkFBc0IsRUFDdEIscUJBQXFCO0FBQ3JCO0FBQ0EsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixvQkFBb0IsQ0FDWiIsImZpbGUiOiJjb21wb25lbnRzL1R5cG9ncmFwaHkvaW50ZXJmYWNlLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
22
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS9pbnRlcmZhY2UudHMiXSwibmFtZXMiOlsiVFlQT0dSQVBIWV9ESVNQTEFZX1NJWkVTIiwiVFlQT0dSQVBIWV9IRUFETElORV9TSVpFUyIsIlRZUE9HUkFQSFlfVElUTEVfU0laRVMiLCJUWVBPR1JBUEhZX0JPRFlfU0laRVMiLCJUWVBPR1JBUEhZX0xBQkVMX1NJWkVTIiwiVFlQT0dSQVBIWV9MSU5LX1NJWkVTIiwiVFlQT0dSQVBIWV9DT0xPUlMiXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sSUFBTUEsd0JBQXdCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFVO0FBQy9FLE9BQU8sSUFBTUMseUJBQXlCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQVU7QUFDMUUsT0FBTyxJQUFNQyxzQkFBc0IsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFVO0FBQ2pFLE9BQU8sSUFBTUMscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBVTtBQUNoRSxPQUFPLElBQU1DLHNCQUFzQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBVTtBQUM3RSxPQUFPLElBQU1DLHFCQUFxQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBVTtBQWdCMUQsT0FBTyxJQUFNQyxpQkFBaUIsR0FBRztBQUMvQjtBQUNBLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsa0JBQWtCO0FBQ2xCO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixtQkFBbUI7QUFDbkI7QUFDQSxTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLHFCQUFxQjtBQUNyQjtBQUNBLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsc0JBQXNCO0FBQ3RCO0FBQ0EsU0FBUyxFQUNULG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixxQkFBcUI7QUFDckI7QUFDQSxRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gscUJBQXFCLEVBQ3JCLG9CQUFvQixDQUNaIiwiZmlsZSI6ImNvbXBvbmVudHMvVHlwb2dyYXBoeS9pbnRlcmZhY2UuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -32,6 +32,7 @@ export function buildTypographyTextNodeProps(options) {
32
32
  size = options.size,
33
33
  color = options.color,
34
34
  strong = options.strong,
35
+ singleLine = options.singleLine,
35
36
  italic = options.italic,
36
37
  underline = options.underline,
37
38
  isDeleted = options.isDeleted,
@@ -49,6 +50,7 @@ export function buildTypographyTextNodeProps(options) {
49
50
  size: size,
50
51
  color: color,
51
52
  strong: strong,
53
+ singleLine: singleLine,
52
54
  italic: italic,
53
55
  underline: underline,
54
56
  isDeleted: isDeleted,
@@ -103,4 +105,4 @@ export function renderWithEnhancements(textElement, enhancement, prefixCls) {
103
105
  }), ellipsisTooltip]
104
106
  });
105
107
  }
106
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVHlwb2dyYXBoeS9yZW5kZXIuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1R5cG9ncmFwaHkvcmVuZGVyLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImNyZWF0ZUVsZW1lbnQiLCJDb3B5Iiwibm90aWZpY2F0aW9uIiwiVG9vbHRpcCIsImNsYXNzbmFtZXMiLCJnZXRUeXBvZ3JhcGh5Q2xhc3NOYW1lIiwiQ09QWV9JQ09OX1NJWkUiLCJERUZBVUxUX0NPUFlfTk9USUZJQ0FUSU9OX1RJVExFIiwiREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9CT0RZIiwiREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9EVVJBVElPTiIsImRlZmF1bHRPbkNvcHkiLCJzdWNjZXNzIiwidGl0bGUiLCJib2R5IiwiZHVyYXRpb24iLCJidWlsZFR5cG9ncmFwaHlUZXh0Tm9kZVByb3BzIiwib3B0aW9ucyIsIl9hIiwicHJlZml4Q2xzIiwiY2xhc3NOYW1lIiwiY2F0ZWdvcnkiLCJzaXplIiwiY29sb3IiLCJzdHJvbmciLCJpdGFsaWMiLCJ1bmRlcmxpbmUiLCJpc0RlbGV0ZWQiLCJkaXNhYmxlZCIsInN0eWxlIiwiY2hpbGRyZW4iLCJlbmhhbmNlbWVudCIsImlkIiwidGV4dElkIiwiZWxsaXBzaXMiLCJjb3B5YWJsZSIsImNvcHlUZXh0IiwiZGlzcGxheVRleHQiLCJyZWYiLCJzZXRNZWFzdXJlTm9kZSIsImZ1bGxUZXh0IiwicmVuZGVyVHlwb2dyYXBoeVRleHRUYWciLCJ0YWciLCJodG1sUHJvcHMiLCJub2RlUHJvcHMiLCJhc3NpZ24iLCJyZW5kZXJUeXBvZ3JhcGh5QW5jaG9yVGFnIiwiYW5jaG9yUHJvcHMiLCJyZXN0Tm9kZVByb3BzIiwicmVuZGVyV2l0aEVuaGFuY2VtZW50cyIsInRleHRFbGVtZW50IiwiX2IiLCJlbGxpcHNpc1Rvb2x0aXAiLCJlbGxpcHNpc1Rvb2x0aXBQcm9wcyIsImFuY2hvclNlbGVjdCIsImNvbmNhdCIsImNsYXNzZXMiLCJXcmFwcGVyIiwid3JhcHBlclRhZyIsImlzSW5saW5lQ29tcG9uZW50IiwidmFsdWUiLCJpY29uU2l6ZSIsImNvbnRhaW5lZCIsIm9uU3VjY2VzcyIsIm9uQ29weSJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0s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QWM7UUFDeEJ1RCxTQUFTLEVBQUUsS0FBSztRQUNoQkMsU0FBUyxFQUFFLENBQUFaLEVBQUEsR0FBQXBCLFdBQVcsQ0FBQ2lDLE1BQU0sTUFBQSxJQUFBLElBQUFiLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJeEM7TUFBYSxDQUFBLENBQzlDO0lBQUEsQ0FBQSxDQUNNLEVBQ1R5QyxlQUFlO0VBQUEsQ0FBQSxDQUNmO0FBRVAiLCJmaWxlIjoiY29tcG9uZW50cy9UeXBvZ3JhcGh5L3JlbmRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb3B5IH0gZnJvbSAnLi4vQ29weSc7XG5pbXBvcnQgeyBub3RpZmljYXRpb24gfSBmcm9tICcuLi9Ob3RpZmljYXRpb24nO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBnZXRUeXBvZ3JhcGh5Q2xhc3NOYW1lIH0gZnJvbSAnLi91dGlscyc7XG5jb25zdCBDT1BZX0lDT05fU0laRSA9IDE2O1xuY29uc3QgREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9USVRMRSA9ICdTdWNjZXNzJztcbmNvbnN0IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fQk9EWSA9ICdDb3BpZWQgdG8gY2xpcGJvYXJkJztcbmNvbnN0IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fRFVSQVRJT04gPSAxLjU7XG5jb25zdCBkZWZhdWx0T25Db3B5ID0gKCkgPT4ge1xuICAgIG5vdGlmaWNhdGlvbi5zdWNjZXNzKHtcbiAgICAgICAgdGl0bGU6IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fVElUTEUsXG4gICAgICAgIGJvZHk6IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fQk9EWSxcbiAgICAgICAgZHVyYXRpb246IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fRFVSQVRJT04sXG4gICAgfSk7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVHlwb2dyYXBoeVRleHROb2RlUHJvcHMob3B0aW9ucykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHByZWZpeENscywgY2xhc3NOYW1lLCBjYXRlZ29yeSwgc2l6ZSwgY29sb3IsIHN0cm9uZywgaXRhbGljLCB1bmRlcmxpbmUsIGlzRGVsZXRlZCwgZGlzYWJsZWQsIHN0eWxlLCBjaGlsZHJlbiwgZW5oYW5jZW1lbnQsIH0gPSBvcHRpb25zO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBlbmhhbmNlbWVudC50ZXh0SWQsXG4gICAgICAgIHN0eWxlLFxuICAgICAgICBjbGFzc05hbWU6IGdldFR5cG9ncmFwaHlDbGFzc05hbWUoe1xuICAgICAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgY29sb3IsXG4gICAgICAgICAgICBzdHJvbmcsXG4gICAgICAgICAgICBpdGFsaWMsXG4gICAgICAgICAgICB1bmRlcmxpbmUsXG4gICAgICAgICAgICBpc0RlbGV0ZWQsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGVsbGlwc2lzOiAhIWVuaGFuY2VtZW50LmVsbGlwc2lzLFxuICAgICAgICAgICAgY29weWFibGU6IGVuaGFuY2VtZW50LmNvcHlUZXh0ICE9PSBudWxsLFxuICAgICAgICB9KSxcbiAgICAgICAgY2hpbGRyZW46IGVuaGFuY2VtZW50LmVsbGlwc2lzID8gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogWyhfYSA9IGVuaGFuY2VtZW50LmRpc3BsYXlUZXh0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBjaGlsZHJlbiwgX2pzeChcInNwYW5cIiwgeyByZWY6IGVuaGFuY2VtZW50LnNldE1lYXN1cmVOb2RlLCBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLCBjbGFzc05hbWU6IGNsYXNzbmFtZXMocHJlZml4Q2xzKSgnZWxsaXBzaXMtbWVhc3VyZScpLCBjaGlsZHJlbjogZW5oYW5jZW1lbnQuZnVsbFRleHQgfSldIH0pKSA6IGNoaWxkcmVuLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyVHlwb2dyYXBoeVRleHRUYWcodGFnLCBodG1sUHJvcHMsIG5vZGVQcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodGFnLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgaHRtbFByb3BzKSwgbm9kZVByb3BzKSwgeyByZWYgfSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclR5cG9ncmFwaHlBbmNob3JUYWcoYW5jaG9yUHJvcHMsIG5vZGVQcm9wcywgcmVmKSB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gbm9kZVByb3BzLCByZXN0Tm9kZVByb3BzID0gX19yZXN0KG5vZGVQcm9wcywgW1wiY2hpbGRyZW5cIl0pO1xuICAgIHJldHVybiAoX2pzeChcImFcIiwgT2JqZWN0LmFzc2lnbih7fSwgYW5jaG9yUHJvcHMsIHJlc3ROb2RlUHJvcHMsIHsgcmVmOiByZWYsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcldpdGhFbmhhbmNlbWVudHModGV4dEVsZW1lbnQsIGVuaGFuY2VtZW50LCBwcmVmaXhDbHMpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IGVsbGlwc2lzVG9vbHRpcCA9IGVuaGFuY2VtZW50LmVsbGlwc2lzVG9vbHRpcFByb3BzICYmIGVuaGFuY2VtZW50LnRleHRJZCA/IChfanN4KFRvb2x0aXAsIE9iamVjdC5hc3NpZ24oe30sIGVuaGFuY2VtZW50LmVsbGlwc2lzVG9vbHRpcFByb3BzLCB7IGFuY2hvclNlbGVjdDogYCMke2VuaGFuY2VtZW50LnRleHRJZH1gIH0pKSkgOiBudWxsO1xuICAgIGlmIChlbmhhbmNlbWVudC5jb3B5VGV4dCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW3RleHRFbGVtZW50LCBlbGxpcHNpc1Rvb2x0aXBdIH0pKTtcbiAgICB9XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBXcmFwcGVyID0gKF9hID0gZW5oYW5jZW1lbnQud3JhcHBlclRhZykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ3NwYW4nO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeHMoV3JhcHBlciwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvcHlhYmxlLXdyYXBwZXInLCBlbmhhbmNlbWVudC5pc0lubGluZUNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMoJ2NvcHlhYmxlLXdyYXBwZXItaW5saW5lJylcbiAgICAgICAgICAgICAgICAgICAgOiBjbGFzc2VzKCdjb3B5YWJsZS13cmFwcGVyLWJsb2NrJykpLCBjaGlsZHJlbjogW3RleHRFbGVtZW50LCBfanN4KENvcHksIHsgdmFsdWU6IGVuaGFuY2VtZW50LmNvcHlUZXh0LCBpY29uU2l6ZTogQ09QWV9JQ09OX1NJWkUsIGNvbnRhaW5lZDogZmFsc2UsIG9uU3VjY2VzczogKF9iID0gZW5oYW5jZW1lbnQub25Db3B5KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBkZWZhdWx0T25Db3B5IH0pXSB9KSwgZWxsaXBzaXNUb29sdGlwXSB9KSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
108
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVHlwb2dyYXBoeS9yZW5kZXIuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1R5cG9ncmFwaHkvcmVuZGVyLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImNyZWF0ZUVsZW1lbnQiLCJDb3B5Iiwibm90aWZpY2F0aW9uIiwiVG9vbHRpcCIsImNsYXNzbmFtZXMiLCJnZXRUeXBvZ3JhcGh5Q2xhc3NOYW1lIiwiQ09QWV9JQ09OX1NJWkUiLCJERUZBVUxUX0NPUFlfTk9USUZJQ0FUSU9OX1RJVExFIiwiREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9CT0RZIiwiREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9EVVJBVElPTiIsImRlZmF1bHRPbkNvcHkiLCJzdWNjZXNzIiwidGl0bGUiLCJib2R5IiwiZHVyYXRpb24iLCJidWlsZFR5cG9ncmFwaHlUZXh0Tm9kZVByb3BzIiwib3B0aW9ucyIsIl9hIiwicHJlZml4Q2xzIiwiY2xhc3NOYW1lIiwiY2F0ZWdvcnkiLCJzaXplIiwiY29sb3IiLCJzdHJvbmciLCJzaW5nbGVMaW5lIiwiaXRhbGljIiwidW5kZXJsaW5lIiwiaXNEZWxldGVkIiwiZGlzYWJsZWQiLCJzdHlsZSIsImNoaWxkcmVuIiwiZW5oYW5jZW1lbnQiLCJpZCIsInRleHRJZCIsImVsbGlwc2lzIiwiY29weWFibGUiLCJjb3B5VGV4dCIsImRpc3BsYXlUZXh0IiwicmVmIiwic2V0TWVhc3VyZU5vZGUiLCJmdWxsVGV4dCIsInJlbmRlclR5cG9ncmFwaHlUZXh0VGFnIiwidGFnIiwiaHRtbFByb3BzIiwibm9kZVByb3BzIiwiYXNzaWduIiwicmVuZGVyVHlwb2dyYXBoeUFuY2hvclRhZyIsImFuY2hvclByb3BzIiwicmVzdE5vZGVQcm9wcyIsInJlbmRlcldpdGhFbmhhbmNlbWVudHMiLCJ0ZXh0RWxlbWVudCIsIl9iIiwiZWxsaXBzaXNUb29sdGlwIiwiZWxsaXBzaXNUb29sdGlwUHJvcHMiLCJhbmNob3JTZWxlY3QiLCJjb25jYXQiLCJjbGFzc2VzIiwiV3JhcHBlciIsIndyYXBwZXJUYWciLCJpc0lubGluZUNvbXBvbmVudCIsInZhbHVlIiwiaWNvblNpemUiLCJjb250YWluZWQiLCJvblN1Y2Nlc3MiLCJvbkNvcHkiXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEVBQzFFUixDQUFDLENBQUNDLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBR1YsQ0FBQyxDQUFDRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDO0VBQ3pCO0VBQ0osT0FBT1IsQ0FBQztBQUNaLENBQUM7QUFDRCxTQUFTVyxHQUFHLElBQUlDLElBQUksRUFBRUMsUUFBUSxJQUFJQyxTQUFTLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ1hyRixTQUFTQyxhQUFhLFFBQVEsT0FBTztBQUNyQyxTQUFTQyxJQUFJLFFBQVEsU0FBUztBQUM5QixTQUFTQyxZQUFZLFFBQVEsaUJBQWlCO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FBQ3BDLE9BQU9DLFVBQVUsTUFBTSx3QkFBd0I7QUFJL0MsU0FBU0Msc0JBQXNCLFFBQVEsU0FBUztBQUVoRCxJQUFNQyxjQUFjLEdBQUcsRUFBRTtBQUN6QixJQUFNQywrQkFBK0IsR0FBRyxTQUFTO0FBQ2pELElBQU1DLDhCQUE4QixHQUFHLHFCQUFxQjtBQUM1RCxJQUFNQyxrQ0FBa0MsR0FBRyxHQUFHO0FBRTlDLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQSxFQUFRO0VBQ3pCUixZQUFZLENBQUNTLE9BQU8sQ0FBQztJQUNuQkMsS0FBSyxFQUFFTCwrQkFBK0I7SUFDdENNLElBQUksRUFBRUwsOEJBQThCO0lBQ3BDTSxRQUFRLEVBQUVMO0VEUVYsQ0NQRCxDQUFDO0FBQ0osQ0FBQztBQVNELE9BQU0sU0FBVU0sNEJBQTRCQSxDQUMxQ0MsT0FBMEMsRUFBQTtFRER4QyxJQUFJQyxFQUFFO0VDR1IsSUFDRUMsU0FBUyxHQWNQRixPQUFPLENBZFRFLFNBQVM7SUFDVEMsU0FBUyxHQWFQSCxPQUFPLENBYlRHLFNBQVM7SUFDVEMsUUFBUSxHQVlOSixPQUFPLENBWlRJLFFBQVE7SUFDUkMsSUFBSSxHQVdGTCxPQUFPLENBWFRLLElBQUk7SUFDSkMsS0FBSyxHQVVITixPQUFPLENBVlRNLEtBQUs7SUFDTEMsTUFBTSxHQVNKUCxPQUFPLENBVFRPLE1BQU07SUFDTkMsVUFBVSxHQVFSUixPQUFPLENBUlRRLFVBQVU7SUFDVkMsTUFBTSxHQU9KVCxPQUFPLENBUFRTLE1BQU07SUFDTkMsU0FBUyxHQU1QVixPQUFPLENBTlRVLFNBQVM7SUFDVEMsU0FBUyxHQUtQWCxPQUFPLENBTFRXLFNBQVM7SUFDVEMsUUFBUSxHQUlOWixPQUFPLENBSlRZLFFBQVE7SUFDUkMsS0FBSyxHQUdIYixPQUFPLENBSFRhLEtBQUs7SUFDTEMsUUFBUSxHQUVOZCxPQUFPLENBRlRjLFFBQVE7SUFDUkMsV0FBVyxHQUNUZixPQUFPLENBRFRlLFdBQVc7RUFHYixPQUFPO0lBQ0xDLEVBQUUsRUFBRUQsV0FBVyxDQUFDRSxNQUFNO0lBQ3RCSixLQUFLLEVBQUxBLEtBQUs7SUFDTFYsU0FBUyxFQUFFZCxzQkFBc0IsQ0FBQztNQUNoQ2EsU0FBUyxFQUFUQSxTQUFTO01BQ1RDLFNBQVMsRUFBVEEsU0FBUztNQUNUQyxRQUFRLEVBQVJBLFFBQVE7TUFDUkMsSUFBSSxFQUFKQSxJQUFJO01BQ0pDLEtBQUssRUFBTEEsS0FBSztNQUNMQyxNQUFNLEVBQU5BLE1BQU07TUFDTkMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZDLE1BQU0sRUFBTkEsTUFBTTtNQUNOQyxTQUFTLEVBQVRBLFNBQVM7TUFDVEMsU0FBUyxFQUFUQSxTQUFTO01BQ1RDLFFBQVEsRUFBUkEsUUFBUTtNQUNSTSxRQUFRLEVBQUUsQ0FBQyxDQUFDSCxXQUFXLENBQUNHLFFBQVE7TUFDaENDLFFBQVEsRUFBRUosV0FBVyxDQUFDSyxRQUFRLEtBQUs7SURqQmpDLENDa0JILENBQUM7SUFDRk4sUUFBUSxFQUFFQyxXQUFXLENBQUNHLFFBQVEsR0FDNUJuQyxLQUFBLENBQUFGLFNBQUEsRUFBQTtNQUFBaUMsUUFBQSxFQUFBLENBQ0csQ0FBQWIsRUFBQSxHQUFBYyxXQUFXLENBQUNNLFdBQVcsTUFBQSxJQUFBLElBQUFwQixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSWEsUUFBUSxFQUNwQ25DLElBQUEsQ0FBQSxNQUFBLEVBQUE7UUFDRTJDLEdBQUcsRUFBRVAsV0FBVyxDQUFDUSxjQUFjO1FBQUEsYUFBQSxFQUNuQixNQUFNO1FBQ2xCcEIsU0FBUyxFQUFFZixVQUFVLENBQUNjLFNBQVMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1FBQUFZLFFBQUEsRUFFbkRDLFdBQVcsQ0FBQ1M7TUFBUSxDQUFBLENBQ2hCO0lBQUEsQ0FBQSxDQUNOLEdBQ0RWO0VENUJKLENDNkJEO0FBQ0g7QUFFQSxPQUFNLFNBQVVXLHVCQUF1QkEsQ0FDckNDLEdBQXNCLEVBQ3RCQyxTQUFzQyxFQUN0Q0MsU0FBa0MsRUFDbENOLEdBQXFCLEVBQUE7RUFFckIsb0JBQU90QyxhQUFhLENBQUMwQyxHQUFHLEVBQUF6RCxNQUFBLENBQUE0RCxNQUFBLENBQUE1RCxNQUFBLENBQUE0RCxNQUFBLENBQUE1RCxNQUFBLENBQUE0RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU9GLFNBQVMsQ0FBQSxFQUFLQyxTQUFTLENBQUEsRUFBQTtJQUFFTixHQUFHLEVBQUhBO0VBQUcsQ0FBQSxDQUFBLENBQUc7QUFDaEU7QUFFQSxPQUFNLFNBQVVRLHlCQUF5QkEsQ0FDdkNDLFdBQW9ELEVBQ3BESCxTQUFrQyxFQUNsQ04sR0FBMkIsRUFBQTtFQUVyQixJQUFFUixRQUFRLEdBQXVCYyxTQUFTLENBQXhDZCxRQUFRO0lBQUtrQixhQUFhLEdBQUFwRSxNQUFBLENBQUtnRSxTQUFTLEVBQTFDLENBQUEsVUFBQSxDQUE4QixDQUFZO0VBRWhELE9BQ0VqRCxJQUFBLENBQUEsR0FBQSxFQUFBVixNQUFBLENBQUE0RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU9FLFdBQVcsRUFBTUMsYUFBYSxFQUFBO0lBQUVWLEdBQUcsRUFBRUEsR0FBRztJQUFBUixRQUFBLEVBQzVDQTtFQUFRLENBQUEsQ0FBQSxDQUNQO0FBRVI7QUFFQSxPQUFNLFNBQVVtQixzQkFBc0JBLENBQ3BDQyxXQUFzQixFQUN0Qm5CLFdBQXdDLEVBQ3hDYixTQUFpQixFQUFBO0VEaERmLElBQUlELEVBQUUsRUFBRWtDLEVBQUU7RUNrRFosSUFBTUMsZUFBZSxHQUFHckIsV0FBVyxDQUFDc0Isb0JBQW9CLElBQUl0QixXQUFXLENBQUNFLE1BQU0sR0FDNUV0QyxJQUFBLENBQUNRLE9BQU8sRUFBQWxCLE1BQUEsQ0FBQTRELE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDRmQsV0FBVyxDQUFDc0Isb0JBQW9CLEVBQUE7SUFDcENDLFlBQVksTUFBQUMsTUFBQSxDQUFNeEIsV0FBVyxDQUFDRSxNQUFNO0VBQUUsQ0FBQSxDQUFBLENBQ3RDLEdBQ0EsSUFBSTtFQUVSLElBQUlGLFdBQVcsQ0FBQ0ssUUFBUSxLQUFLLElBQUksRUFBRTtJQUNqQyxPQUNFckMsS0FBQSxDQUFBRixTQUFBLEVBQUE7TUFBQWlDLFFBQUEsRUFBQSxDQUNHb0IsV0FBVyxFQUNYRSxlQUFlO0lBQUEsQ0FBQSxDQUNmO0VBRVA7RUFFQSxJQUFNSSxPQUFPLEdBQUdwRCxVQUFVLENBQUNjLFNBQVMsQ0FBQztFQUNyQyxJQUFNdUMsT0FBTyxHQUFHLENBQUF4QyxFQUFBLEdBQUFjLFdBQVcsQ0FBQzJCLFVBQVUsTUFBQSxJQUFBLElBQUF6QyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxNQUFNO0VBRWhELE9BQ0VsQixLQUFBLENBQUFGLFNBQUEsRUFBQTtJQUFBaUMsUUFBQSxFQUFBLENBQ0UvQixLQUFBLENBQUMwRCxPQUFPLEVBQUE7TUFDTnRDLFNBQVMsRUFBRXFDLE9BQU8sQ0FDaEIsa0JBQWtCLEVBQ2xCekIsV0FBVyxDQUFDNEIsaUJBQWlCLEdBQ3pCSCxPQUFPLENBQUMseUJBQXlCLENBQUMsR0FDbENBLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUN0QztNQUFBMUIsUUFBQSxFQUFBLENBRUFvQixXQUFXLEVBQ1p2RCxJQUFBLENBQUNNLElBQUksRUFBQTtRQUNIMkQsS0FBSyxFQUFFN0IsV0FBVyxDQUFDSyxRQUFRO1FBQzNCeUIsUUFBUSxFQUFFdkQsY0FBYztRQUN4QndELFNBQVMsRUFBRSxLQUFLO1FBQ2hCQyxTQUFTLEVBQUUsQ0FBQVosRUFBQSxHQUFBcEIsV0FBVyxDQUFDaUMsTUFBTSxNQUFBLElBQUEsSUFBQWIsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUl6QztNQUFhLENBQUEsQ0FDOUM7SUFBQSxDQUFBLENBQ00sRUFDVDBDLGVBQWU7RUFBQSxDQUFBLENBQ2Y7QUFFUCIsImZpbGUiOiJjb21wb25lbnRzL1R5cG9ncmFwaHkvcmVuZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgY3JlYXRlRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENvcHkgfSBmcm9tICcuLi9Db3B5JztcbmltcG9ydCB7IG5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL05vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnLi4vVG9vbHRpcCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IGdldFR5cG9ncmFwaHlDbGFzc05hbWUgfSBmcm9tICcuL3V0aWxzJztcbmNvbnN0IENPUFlfSUNPTl9TSVpFID0gMTY7XG5jb25zdCBERUZBVUxUX0NPUFlfTk9USUZJQ0FUSU9OX1RJVExFID0gJ1N1Y2Nlc3MnO1xuY29uc3QgREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9CT0RZID0gJ0NvcGllZCB0byBjbGlwYm9hcmQnO1xuY29uc3QgREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9EVVJBVElPTiA9IDEuNTtcbmNvbnN0IGRlZmF1bHRPbkNvcHkgPSAoKSA9PiB7XG4gICAgbm90aWZpY2F0aW9uLnN1Y2Nlc3Moe1xuICAgICAgICB0aXRsZTogREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9USVRMRSxcbiAgICAgICAgYm9keTogREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9CT0RZLFxuICAgICAgICBkdXJhdGlvbjogREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9EVVJBVElPTixcbiAgICB9KTtcbn07XG5leHBvcnQgZnVuY3Rpb24gYnVpbGRUeXBvZ3JhcGh5VGV4dE5vZGVQcm9wcyhvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcHJlZml4Q2xzLCBjbGFzc05hbWUsIGNhdGVnb3J5LCBzaXplLCBjb2xvciwgc3Ryb25nLCBzaW5nbGVMaW5lLCBpdGFsaWMsIHVuZGVybGluZSwgaXNEZWxldGVkLCBkaXNhYmxlZCwgc3R5bGUsIGNoaWxkcmVuLCBlbmhhbmNlbWVudCwgfSA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGVuaGFuY2VtZW50LnRleHRJZCxcbiAgICAgICAgc3R5bGUsXG4gICAgICAgIGNsYXNzTmFtZTogZ2V0VHlwb2dyYXBoeUNsYXNzTmFtZSh7XG4gICAgICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICBjYXRlZ29yeSxcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICBjb2xvcixcbiAgICAgICAgICAgIHN0cm9uZyxcbiAgICAgICAgICAgIHNpbmdsZUxpbmUsXG4gICAgICAgICAgICBpdGFsaWMsXG4gICAgICAgICAgICB1bmRlcmxpbmUsXG4gICAgICAgICAgICBpc0RlbGV0ZWQsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGVsbGlwc2lzOiAhIWVuaGFuY2VtZW50LmVsbGlwc2lzLFxuICAgICAgICAgICAgY29weWFibGU6IGVuaGFuY2VtZW50LmNvcHlUZXh0ICE9PSBudWxsLFxuICAgICAgICB9KSxcbiAgICAgICAgY2hpbGRyZW46IGVuaGFuY2VtZW50LmVsbGlwc2lzID8gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogWyhfYSA9IGVuaGFuY2VtZW50LmRpc3BsYXlUZXh0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBjaGlsZHJlbiwgX2pzeChcInNwYW5cIiwgeyByZWY6IGVuaGFuY2VtZW50LnNldE1lYXN1cmVOb2RlLCBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLCBjbGFzc05hbWU6IGNsYXNzbmFtZXMocHJlZml4Q2xzKSgnZWxsaXBzaXMtbWVhc3VyZScpLCBjaGlsZHJlbjogZW5oYW5jZW1lbnQuZnVsbFRleHQgfSldIH0pKSA6IGNoaWxkcmVuLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyVHlwb2dyYXBoeVRleHRUYWcodGFnLCBodG1sUHJvcHMsIG5vZGVQcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodGFnLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgaHRtbFByb3BzKSwgbm9kZVByb3BzKSwgeyByZWYgfSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclR5cG9ncmFwaHlBbmNob3JUYWcoYW5jaG9yUHJvcHMsIG5vZGVQcm9wcywgcmVmKSB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gbm9kZVByb3BzLCByZXN0Tm9kZVByb3BzID0gX19yZXN0KG5vZGVQcm9wcywgW1wiY2hpbGRyZW5cIl0pO1xuICAgIHJldHVybiAoX2pzeChcImFcIiwgT2JqZWN0LmFzc2lnbih7fSwgYW5jaG9yUHJvcHMsIHJlc3ROb2RlUHJvcHMsIHsgcmVmOiByZWYsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcldpdGhFbmhhbmNlbWVudHModGV4dEVsZW1lbnQsIGVuaGFuY2VtZW50LCBwcmVmaXhDbHMpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IGVsbGlwc2lzVG9vbHRpcCA9IGVuaGFuY2VtZW50LmVsbGlwc2lzVG9vbHRpcFByb3BzICYmIGVuaGFuY2VtZW50LnRleHRJZCA/IChfanN4KFRvb2x0aXAsIE9iamVjdC5hc3NpZ24oe30sIGVuaGFuY2VtZW50LmVsbGlwc2lzVG9vbHRpcFByb3BzLCB7IGFuY2hvclNlbGVjdDogYCMke2VuaGFuY2VtZW50LnRleHRJZH1gIH0pKSkgOiBudWxsO1xuICAgIGlmIChlbmhhbmNlbWVudC5jb3B5VGV4dCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW3RleHRFbGVtZW50LCBlbGxpcHNpc1Rvb2x0aXBdIH0pKTtcbiAgICB9XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBXcmFwcGVyID0gKF9hID0gZW5oYW5jZW1lbnQud3JhcHBlclRhZykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ3NwYW4nO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeHMoV3JhcHBlciwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvcHlhYmxlLXdyYXBwZXInLCBlbmhhbmNlbWVudC5pc0lubGluZUNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMoJ2NvcHlhYmxlLXdyYXBwZXItaW5saW5lJylcbiAgICAgICAgICAgICAgICAgICAgOiBjbGFzc2VzKCdjb3B5YWJsZS13cmFwcGVyLWJsb2NrJykpLCBjaGlsZHJlbjogW3RleHRFbGVtZW50LCBfanN4KENvcHksIHsgdmFsdWU6IGVuaGFuY2VtZW50LmNvcHlUZXh0LCBpY29uU2l6ZTogQ09QWV9JQ09OX1NJWkUsIGNvbnRhaW5lZDogZmFsc2UsIG9uU3VjY2VzczogKF9iID0gZW5oYW5jZW1lbnQub25Db3B5KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBkZWZhdWx0T25Db3B5IH0pXSB9KSwgZWxsaXBzaXNUb29sdGlwXSB9KSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -109,13 +109,6 @@
109
109
  letter-spacing: var(--om-title-sm-letter-spacing);
110
110
  font-weight: var(--om-title-sm-font-weight);
111
111
  }
112
- .om-component-ui-typography-title-xs {
113
- font-size: var(--om-title-xs-font-size);
114
- font-family: var(--om-title-xs-font-family);
115
- line-height: var(--om-title-xs-line-height);
116
- letter-spacing: var(--om-title-xs-letter-spacing);
117
- font-weight: var(--om-title-xs-font-weight);
118
- }
119
112
  .om-component-ui-typography-body-lg {
120
113
  font-size: var(--om-body-lg-font-size);
121
114
  font-family: var(--om-body-lg-font-family);
@@ -197,89 +190,47 @@
197
190
  color: var(--om-text-brand, #073387);
198
191
  }
199
192
  .om-component-ui-typography-title-lg.om-component-ui-typography-strong {
200
- font-size: var(--om-title-lg-font-size);
201
- font-family: var(--om-title-lg-font-family);
202
- line-height: var(--om-title-lg-line-height);
203
- letter-spacing: var(--om-title-lg-letter-spacing);
204
193
  font-weight: var(--om-title-lg-strong-font-weight);
205
194
  }
206
195
  .om-component-ui-typography-title-md.om-component-ui-typography-strong {
207
- font-size: var(--om-title-md-font-size);
208
- font-family: var(--om-title-md-font-family);
209
- line-height: var(--om-title-md-line-height);
210
- letter-spacing: var(--om-title-md-letter-spacing);
211
196
  font-weight: var(--om-title-md-strong-font-weight);
212
197
  }
213
198
  .om-component-ui-typography-title-sm.om-component-ui-typography-strong {
214
- font-size: var(--om-title-sm-font-size);
215
- font-family: var(--om-title-sm-font-family);
216
- line-height: var(--om-title-sm-line-height);
217
- letter-spacing: var(--om-title-sm-letter-spacing);
218
199
  font-weight: var(--om-title-sm-strong-font-weight);
219
200
  }
220
- .om-component-ui-typography-title-xs.om-component-ui-typography-strong {
221
- font-size: var(--om-title-xs-font-size);
222
- font-family: var(--om-title-xs-font-family);
223
- line-height: var(--om-title-xs-line-height);
224
- letter-spacing: var(--om-title-xs-letter-spacing);
225
- font-weight: var(--om-title-xs-strong-font-weight);
226
- }
227
201
  .om-component-ui-typography-body-lg.om-component-ui-typography-strong {
228
- font-size: var(--om-body-lg-font-size);
229
- font-family: var(--om-body-lg-font-family);
230
- line-height: var(--om-body-lg-line-height);
231
- letter-spacing: var(--om-body-lg-letter-spacing);
232
202
  font-weight: var(--om-body-lg-strong-font-weight);
233
203
  }
234
204
  .om-component-ui-typography-body-md.om-component-ui-typography-strong {
235
- font-size: var(--om-body-md-font-size);
236
- font-family: var(--om-body-md-font-family);
237
- line-height: var(--om-body-md-line-height);
238
- letter-spacing: var(--om-body-md-letter-spacing);
239
205
  font-weight: var(--om-body-md-strong-font-weight);
240
206
  }
241
207
  .om-component-ui-typography-body-sm.om-component-ui-typography-strong {
242
- font-size: var(--om-body-sm-font-size);
243
- font-family: var(--om-body-sm-font-family);
244
- line-height: var(--om-body-sm-line-height);
245
- letter-spacing: var(--om-body-sm-letter-spacing);
246
208
  font-weight: var(--om-body-sm-strong-font-weight);
247
209
  }
248
210
  .om-component-ui-typography-label-xl.om-component-ui-typography-strong {
249
- font-size: var(--om-label-xl-font-size);
250
- font-family: var(--om-label-xl-font-family);
251
- line-height: var(--om-label-xl-line-height);
252
- letter-spacing: var(--om-label-xl-letter-spacing);
253
211
  font-weight: var(--om-label-xl-strong-font-weight);
254
212
  }
255
213
  .om-component-ui-typography-label-lg.om-component-ui-typography-strong {
256
- font-size: var(--om-label-lg-font-size);
257
- font-family: var(--om-label-lg-font-family);
258
- line-height: var(--om-label-lg-line-height);
259
- letter-spacing: var(--om-label-lg-letter-spacing);
260
214
  font-weight: var(--om-label-lg-strong-font-weight);
261
215
  }
262
216
  .om-component-ui-typography-label-md.om-component-ui-typography-strong {
263
- font-size: var(--om-label-md-font-size);
264
- font-family: var(--om-label-md-font-family);
265
- line-height: var(--om-label-md-line-height);
266
- letter-spacing: var(--om-label-md-letter-spacing);
267
217
  font-weight: var(--om-label-md-strong-font-weight);
268
218
  }
269
219
  .om-component-ui-typography-label-sm.om-component-ui-typography-strong {
270
- font-size: var(--om-label-sm-font-size);
271
- font-family: var(--om-label-sm-font-family);
272
- line-height: var(--om-label-sm-line-height);
273
- letter-spacing: var(--om-label-sm-letter-spacing);
274
220
  font-weight: var(--om-label-sm-strong-font-weight);
275
221
  }
276
222
  .om-component-ui-typography-label-xs.om-component-ui-typography-strong {
277
- font-size: var(--om-label-xs-font-size);
278
- font-family: var(--om-label-xs-font-family);
279
- line-height: var(--om-label-xs-line-height);
280
- letter-spacing: var(--om-label-xs-letter-spacing);
281
223
  font-weight: var(--om-label-xs-strong-font-weight);
282
224
  }
225
+ .om-component-ui-typography-body-lg.om-component-ui-typography-single-line {
226
+ line-height: var(--om-body-lg-single-line-line-height);
227
+ }
228
+ .om-component-ui-typography-body-md.om-component-ui-typography-single-line {
229
+ line-height: var(--om-body-md-single-line-line-height);
230
+ }
231
+ .om-component-ui-typography-body-sm.om-component-ui-typography-single-line {
232
+ line-height: var(--om-body-sm-single-line-line-height);
233
+ }
283
234
  .om-component-ui-typography-italic {
284
235
  font-style: italic;
285
236
  }
@@ -32,6 +32,7 @@ export interface TypographyTextPresentationOptions {
32
32
  size: string;
33
33
  color?: string;
34
34
  strong?: boolean;
35
+ singleLine?: boolean;
35
36
  italic?: boolean;
36
37
  underline?: boolean;
37
38
  isDeleted?: boolean;
@@ -109,4 +109,4 @@ export function useTypographyEnhancements(options) {
109
109
  setMeasureNode: setMeasureNode
110
110
  };
111
111
  }
112
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS91c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzLnRzIiwiY29tcG9uZW50cy9UeXBvZ3JhcGh5L3VzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMuanMiXSwibmFtZXMiOlsidXNlRXZlbnRDYWxsYmFjayIsInVzZVNhZmVTdGF0ZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VSZXNpemVPYnNlcnZlciIsIkRFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTIiwiREVGQVVMVF9UWVBPR1JBUEhZX1RPT0xUSVBfUExBQ0VNRU5UIiwiZXh0cmFjdFRleHRDb250ZW50IiwiZ2V0RW5oYW5jZW1lbnRXcmFwcGVyVGFnIiwiZ2V0U3RhYmxlSWQiLCJpc0lubGluZVR5cG9ncmFwaHlUYWciLCJub3JtYWxpemVFbGxpcHNpcyIsInRydW5jYXRlTWlkZGxlIiwicmVzb2x2ZUNvcHlhYmxlIiwiY29weWFibGUiLCJmdWxsVGV4dCIsIl9hIiwidGV4dCIsIm9uQ29weSIsInVzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMiLCJvcHRpb25zIiwiY29tcG9uZW50VGFnIiwiZGVmYXVsdExheW91dE1vZGUiLCJwcmVmaXhDbHMiLCJpZCIsImNoaWxkcmVuIiwiZWxsaXBzaXMiLCJ0ZXh0Tm9kZVJlZiIsIm1lYXN1cmVOb2RlUmVmIiwiZ2VuZXJhdGVkVGV4dElkUmVmIiwidW5kZWZpbmVkIiwiX3VzZVNhZmVTdGF0ZSIsIl91c2VTYWZlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc092ZXJmbG93ZWQiLCJzZXRJc092ZXJmbG93ZWQiLCJyZXNvbHZlZEVsbGlwc2lzIiwiZWxsaXBzaXNFbmFibGVkIiwiZWxsaXBzaXNIYXNUb29sdGlwIiwidG9vbHRpcCIsImlzSW5saW5lQ29tcG9uZW50IiwidGV4dElkIiwidHJ1bmNhdGVkVGV4dCIsInN0YXJ0IiwiZW5kIiwiZGlzcGxheVRleHQiLCJpc1RydW5jYXRlZCIsInJlc29sdmVkQ29weWFibGUiLCJzZXRUZXh0Tm9kZSIsIm5vZGUiLCJjdXJyZW50Iiwic2V0TWVhc3VyZU5vZGUiLCJtZWFzdXJlT3ZlcmZsb3ciLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwiZ2V0TWVhc3VyZU5vZGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJlbGxpcHNpc1Rvb2x0aXBQcm9wcyIsIl9iIiwiX2MiLCJ0b29sdGlwQ29uZmlnIiwiYm9keSIsInBsYWNlbWVudCIsIm1pZGRsZXdhcmVzIiwiT2JqZWN0IiwiYXNzaWduIiwiY29weVRleHQiLCJ3cmFwcGVyVGFnIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsZ0JBQWdCLE1BQU0sZ0NBQWdDO0FBQzdELE9BQU9DLFlBQVksTUFBTSw0QkFBNEI7QUFDckQsU0FBU0MsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ2xELFNBQVNDLGlCQUFpQixRQUFRLG1CQUFtQjtBQUtyRCxTQUFTQyxzQ0FBc0MsRUFBRUMsb0NBQW9DLFFBQVEsYUFBYTtBQUUxRyxTQUNFQyxrQkFBa0IsRUFDbEJDLHdCQUF3QixFQUN4QkMsV0FBVyxFQUNYQyxxQkFBcUIsRUFDckJDLGlCQUFpQixFQUNqQkMsY0FBYyxRQUNULFNBQVM7QUErQ2hCLFNBQVNDLGVBQWVBLENBQ3RCQyxRQUF3RCxFQUN4REMsUUFBZ0IsRUFBQTtFQzNEZCxJQUFJQyxFQUFFO0VENkRSLElBQUksQ0FBQ0YsUUFBUSxFQUFFLE9BQU8sSUFBSTtFQUUxQixJQUFJQSxRQUFRLEtBQUssSUFBSSxFQUFFO0lBQ3JCLE9BQU87TUFBRUcsSUFBSSxFQUFFRjtJQUFRLENBQUU7RUFDM0I7RUFFQSxPQUFPO0lBQ0xFLElBQUksRUFBRSxDQUFBRCxFQUFBLEdBQUFGLFFBQVEsQ0FBQ0csSUFBSSxNQUFBLElBQUEsSUFBQUQsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlELFFBQVE7SUFDL0JHLE1BQU0sRUFBRUosUUFBUSxDQUFDSTtFQzVEakIsQ0Q2REQ7QUFDSDtBQUVBLE9BQU0sU0FBVUMseUJBQXlCQSxDQUN2Q0MsT0FBcUMsRUFBQTtFQzlEbkMsSUFBSUosRUFBRTtFRGdFUixJQUFRSyxZQUFZLEdBQXFFRCxPQUFPLENBQXhGQyxZQUFZO0lBQUVDLGlCQUFpQixHQUFrREYsT0FBTyxDQUExRUUsaUJBQWlCO0lBQUVDLFNBQVMsR0FBdUNILE9BQU8sQ0FBdkRHLFNBQVM7SUFBRUMsRUFBRSxHQUFtQ0osT0FBTyxDQUE1Q0ksRUFBRTtJQUFFQyxRQUFRLEdBQXlCTCxPQUFPLENBQXhDSyxRQUFRO0lBQUVDLFFBQVEsR0FBZU4sT0FBTyxDQUE5Qk0sUUFBUTtJQUFFWixRQUFRLEdBQUtNLE9BQU8sQ0FBcEJOLFFBQVE7RUFDcEYsSUFBTWEsV0FBVyxHQUFHeEIsTUFBTSxDQUFxQixJQUFJLENBQUM7RUFDcEQsSUFBTXlCLGNBQWMsR0FBR3pCLE1BQU0sQ0FBcUIsSUFBSSxDQUFDO0VBQ3ZELElBQU0wQixrQkFBa0IsR0FBRzFCLE1BQU0sQ0FBcUIyQixTQUFTLENBQUM7RUFDaEU7RUFDQSxJQUFBQyxhQUFBLEdBQXdDL0IsWUFBWSxDQUFDLElBQUksQ0FBQztJQUFBZ0MsY0FBQSxHQUFBQyxjQUFBLENBQUFGLGFBQUE7SUFBbkRHLFlBQVksR0FBQUYsY0FBQTtJQUFFRyxlQUFlLEdBQUFILGNBQUE7RUFFcEMsSUFBTUksZ0JBQWdCLEdBQUd6QixpQkFBaUIsQ0FBQ2UsUUFBUSxDQUFDO0VBQ3BELElBQU1XLGVBQWUsR0FBR0QsZ0JBQWdCLEtBQUssSUFBSTtFQUNqRCxJQUFNRSxrQkFBa0IsR0FBRyxDQUFDLEVBQUNGLGdCQUFnQixLQUFBLElBQUEsSUFBaEJBLGdCQUFnQixLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFoQkEsZ0JBQWdCLENBQUVHLE9BQU8sQ0FBQTtFQUN0RCxJQUFNQyxpQkFBaUIsR0FBRzlCLHFCQUFxQixDQUFDVyxZQUFZLEVBQUVDLGlCQUFpQixDQUFDO0VBQ2hGLElBQU1tQixNQUFNLEdBQUdqQixFQUFFLEtBQUEsSUFBQSxJQUFGQSxFQUFFLEtBQUEsS0FBQSxDQUFBLEdBQUZBLEVBQUUsR0FBS2Msa0JBQWtCLEdBQ3BDN0IsV0FBVyxDQUFDb0Isa0JBQWtCLEVBQUVOLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FDdERPLFNBQVU7RUFFZCxJQUFNZixRQUFRLEdBQUdiLE9BQU8sQ0FBQztJQUFBLE9BQU1LLGtCQUFrQixDQUFDa0IsUUFBUSxDQUFDO0VBQUEsR0FBRSxDQUFDQSxRQUFRLENBQUMsQ0FBQztFQUN4RSxJQUFNaUIsYUFBYSxHQUFHeEMsT0FBTyxDQUFDLFlBQUs7SUFDakMsSUFBSSxDQUFDa0MsZ0JBQWdCLEVBQUUsT0FBTyxJQUFJO0lBQ2xDLE9BQU94QixjQUFjLENBQUNHLFFBQVEsRUFBRXFCLGdCQUFnQixDQUFDTyxLQUFLLEVBQUVQLGdCQUFnQixDQUFDUSxHQUFHLENBQUM7RUFDL0UsQ0FBQyxFQUFFLENBQUM3QixRQUFRLEVBQUVxQixnQkFBZ0IsS0FBQSxJQUFBLElBQWhCQSxnQkFBZ0IsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBaEJBLGdCQUFnQixDQUFFTyxLQUFLLEVBQUVQLGdCQUFnQixLQUFBLElBQUEsSUFBaEJBLGdCQUFnQixLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFoQkEsZ0JBQWdCLENBQUVRLEdBQUcsQ0FBQyxDQUFDO0VBRTlELElBQU1DLFdBQVcsR0FBR1IsZUFBZSxJQUFJSCxZQUFZLEdBQUdRLGFBQWEsR0FBRyxJQUFJO0VBQzFFLElBQU1JLFdBQVcsR0FBR0QsV0FBVyxLQUFLLElBQUksSUFBSUEsV0FBVyxLQUFLOUIsUUFBUTtFQUVwRSxJQUFNZ0MsZ0JBQWdCLEdBQUc3QyxPQUFPLENBQzlCO0lBQUEsT0FBTVcsZUFBZSxDQUFDQyxRQUFRLEVBQUVDLFFBQVEsQ0FBQztFQUFBLEdBQ3pDLENBQUNELFFBQVEsRUFBRUMsUUFBUSxDQUFDLENBQ3JCO0VBRUQsSUFBTWlDLFdBQVcsR0FBR2pELGdCQUFnQixDQUFDLFVBQUNrRCxJQUF3QixFQUFJO0lBQ2hFdEIsV0FBVyxDQUFDdUIsT0FBTyxHQUFHRCxJQUFJO0VBQzVCLENBQUMsQ0FBQztFQUVGLElBQU1FLGNBQWMsR0FBR3BELGdCQUFnQixDQUFDLFVBQUNrRCxJQUF3QixFQUFJO0lBQ25FckIsY0FBYyxDQUFDc0IsT0FBTyxHQUFHRCxJQUFJO0VBQy9CLENBQUMsQ0FBQztFQUVGO0VBQ0EsSUFBTUcsZUFBZSxHQUFHckQsZ0JBQWdCLENBQUMsWUFBSztJQUM1QyxJQUFNa0QsSUFBSSxHQUFHckIsY0FBYyxDQUFDc0IsT0FBTztJQUNuQyxJQUFJLENBQUNELElBQUksRUFBRTtJQUNYZCxlQUFlLENBQUNjLElBQUksQ0FBQ0ksV0FBVyxHQUFHSixJQUFJLENBQUNLLFdBQVcsQ0FBQztFQUN0RCxDQUFDLENBQUM7RUFFRixJQUFNQyxjQUFjLEdBQUd4RCxnQkFBZ0IsQ0FBQyxZQUFLO0lBQUEsSUFBQWlCLEVBQUE7SUFBQyxPQUFBLENBQUFBLEVBQUEsR0FBQVksY0FBYyxDQUFDc0IsT0FBTyxNQUFBLElBQUEsSUFBQWxDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJd0MsUUFBUSxDQUFDQyxhQUFhLENBQUMsTUFBTSxDQUFDO0VBQUEsQ0FBQSxDQUFDO0VBRXZHckQsaUJBQWlCLENBQUNpQyxlQUFlLElBQUksQ0FBQyxDQUFDVCxjQUFjLENBQUNzQixPQUFPLEVBQUVLLGNBQWMsRUFBRUgsZUFBZSxDQUFDO0VBRS9GbkQsU0FBUyxDQUFDLFlBQUs7SUFDYixJQUFJb0MsZUFBZSxFQUFFO01BQ25CZSxlQUFlLENBQUEsQ0FBRTtJQUNuQixDQUFDLE1BQU07TUFDTGpCLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDdkI7RUFDRixDQUFDLEVBQUUsQ0FBQ0UsZUFBZSxFQUFFWixRQUFRLEVBQUUyQixlQUFlLEVBQUVqQixlQUFlLENBQUMsQ0FBQztFQUVqRSxJQUFNdUIsb0JBQW9CLEdBQUd4RCxPQUFPLENBQUMsWUFBSztJQ3pFcEMsSUFBSWMsRUFBRSxFQUFFMkMsRUFBRSxFQUFFQyxFQUFFO0lEMEVsQixJQUFJLENBQUN0QixrQkFBa0IsSUFBSSxDQUFDUSxXQUFXLElBQUksQ0FBQ0wsTUFBTSxFQUFFO01BQ2xELE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBTW9CLGFBQWEsR0FBR3pCLGdCQUFpQixDQUFDRyxPQUFPO0lBQy9DLElBQUlzQixhQUFhLEtBQUssSUFBSSxFQUFFO01BQzFCLE9BQU87UUFDTEMsSUFBSSxFQUFFL0MsUUFBUTtRQUNkZ0QsU0FBUyxFQUFFekQsb0NBQW9DO1FBQy9DMEQsV0FBVyxFQUFFM0Q7TUN6RVQsQ0QwRUw7SUFDSDtJQUVBLE9BQUE0RCxNQUFBLENBQUFDLE1BQUEsQ0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ0tMLGFBQWEsQ0FBQSxFQUFBO01BQ2hCQyxJQUFJLEVBQUUsQ0FBQTlDLEVBQUEsR0FBQzZDLGFBQThCLENBQUNDLElBQUksTUFBQSxJQUFBLElBQUE5QyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSUQsUUFBUTtNQUN0RGdELFNBQVMsRUFDUCxDQUFBSixFQUFBLEdBQUNFLGFBQThCLENBQUNFLFNBQVMsTUFBQSxJQUFBLElBQUFKLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJckQsb0NBQW9DO01BQ25GMEQsV0FBVyxFQUNULENBQUFKLEVBQUEsR0FBQ0MsYUFBOEIsQ0FBQ0csV0FBVyxNQUFBLElBQUEsSUFBQUosRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUl2RDtJQUFzQyxDQUFBLENBQUE7RUFFM0YsQ0FBQyxFQUFFLENBQUNVLFFBQVEsRUFBRStCLFdBQVcsRUFBRVIsa0JBQWtCLEVBQUVGLGdCQUFnQixLQUFBLElBQUEsSUFBaEJBLGdCQUFnQixLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFoQkEsZ0JBQWdCLENBQUVHLE9BQU8sRUFBRUUsTUFBTSxDQUFDLENBQUM7RUFFbEYsT0FBTztJQUNMZixRQUFRLEVBQUVVLGdCQUFnQjtJQUMxQnJCLFFBQVEsRUFBUkEsUUFBUTtJQUNSOEIsV0FBVyxFQUFYQSxXQUFXO0lBQ1hzQixRQUFRLEVBQUUsQ0FBQW5ELEVBQUEsR0FBQStCLGdCQUFnQixLQUFBLElBQUEsSUFBaEJBLGdCQUFnQixLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFoQkEsZ0JBQWdCLENBQUU5QixJQUFJLE1BQUEsSUFBQSxJQUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxJQUFJO0lBQ3hDRSxNQUFNLEVBQUU2QixnQkFBZ0IsS0FBQSxJQUFBLElBQWhCQSxnQkFBZ0IsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBaEJBLGdCQUFnQixDQUFFN0IsTUFBTTtJQUNoQ3VCLE1BQU0sRUFBTkEsTUFBTTtJQUNOaUIsb0JBQW9CLEVBQXBCQSxvQkFBb0I7SUFDcEJsQixpQkFBaUIsRUFBakJBLGlCQUFpQjtJQUNqQjRCLFVBQVUsRUFBRXJCLGdCQUFnQixHQUFHdkMsd0JBQXdCLENBQUNnQyxpQkFBaUIsQ0FBQyxHQUFHVixTQUFTO0lBQ3RGa0IsV0FBVyxFQUFYQSxXQUFXO0lBQ1hHLGNBQWMsRUFBZEE7RUNsRkEsQ0RtRkQ7QUFDSCIsImZpbGUiOiJjb21wb25lbnRzL1R5cG9ncmFwaHkvdXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB1c2VTYWZlU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VTYWZlU3RhdGUnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJy4uL1Jlc2l6ZU9ic2VydmVyJztcbmltcG9ydCB7IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTLCBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0VGV4dENvbnRlbnQsIGdldEVuaGFuY2VtZW50V3JhcHBlclRhZywgZ2V0U3RhYmxlSWQsIGlzSW5saW5lVHlwb2dyYXBoeVRhZywgbm9ybWFsaXplRWxsaXBzaXMsIHRydW5jYXRlTWlkZGxlLCB9IGZyb20gJy4vdXRpbHMnO1xuZnVuY3Rpb24gcmVzb2x2ZUNvcHlhYmxlKGNvcHlhYmxlLCBmdWxsVGV4dCkge1xuICAgIHZhciBfYTtcbiAgICBpZiAoIWNvcHlhYmxlKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29weWFibGUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogZnVsbFRleHQgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dDogKF9hID0gY29weWFibGUudGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZnVsbFRleHQsXG4gICAgICAgIG9uQ29weTogY29weWFibGUub25Db3B5LFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gdXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cyhvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY29tcG9uZW50VGFnLCBkZWZhdWx0TGF5b3V0TW9kZSwgcHJlZml4Q2xzLCBpZCwgY2hpbGRyZW4sIGVsbGlwc2lzLCBjb3B5YWJsZSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB0ZXh0Tm9kZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBtZWFzdXJlTm9kZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBnZW5lcmF0ZWRUZXh0SWRSZWYgPSB1c2VSZWYodW5kZWZpbmVkKTtcbiAgICAvLyBEZWZhdWx0IHRvIHRydWUgc28gdHJ1bmNhdGVkIHRleHQgaXMgc2hvd24gaW1tZWRpYXRlbHkgKG5vIGZsYXNoKVxuICAgIGNvbnN0IFtpc092ZXJmbG93ZWQsIHNldElzT3ZlcmZsb3dlZF0gPSB1c2VTYWZlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgcmVzb2x2ZWRFbGxpcHNpcyA9IG5vcm1hbGl6ZUVsbGlwc2lzKGVsbGlwc2lzKTtcbiAgICBjb25zdCBlbGxpcHNpc0VuYWJsZWQgPSByZXNvbHZlZEVsbGlwc2lzICE9PSBudWxsO1xuICAgIGNvbnN0IGVsbGlwc2lzSGFzVG9vbHRpcCA9ICEhKHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy50b29sdGlwKTtcbiAgICBjb25zdCBpc0lubGluZUNvbXBvbmVudCA9IGlzSW5saW5lVHlwb2dyYXBoeVRhZyhjb21wb25lbnRUYWcsIGRlZmF1bHRMYXlvdXRNb2RlKTtcbiAgICBjb25zdCB0ZXh0SWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiAoZWxsaXBzaXNIYXNUb29sdGlwXG4gICAgICAgID8gZ2V0U3RhYmxlSWQoZ2VuZXJhdGVkVGV4dElkUmVmLCBwcmVmaXhDbHMsICdlbGxpcHNpcycpXG4gICAgICAgIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBmdWxsVGV4dCA9IHVzZU1lbW8oKCkgPT4gZXh0cmFjdFRleHRDb250ZW50KGNoaWxkcmVuKSwgW2NoaWxkcmVuXSk7XG4gICAgY29uc3QgdHJ1bmNhdGVkVGV4dCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoIXJlc29sdmVkRWxsaXBzaXMpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRydW5jYXRlTWlkZGxlKGZ1bGxUZXh0LCByZXNvbHZlZEVsbGlwc2lzLnN0YXJ0LCByZXNvbHZlZEVsbGlwc2lzLmVuZCk7XG4gICAgfSwgW2Z1bGxUZXh0LCByZXNvbHZlZEVsbGlwc2lzID09PSBudWxsIHx8IHJlc29sdmVkRWxsaXBzaXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc29sdmVkRWxsaXBzaXMuc3RhcnQsIHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy5lbmRdKTtcbiAgICBjb25zdCBkaXNwbGF5VGV4dCA9IGVsbGlwc2lzRW5hYmxlZCAmJiBpc092ZXJmbG93ZWQgPyB0cnVuY2F0ZWRUZXh0IDogbnVsbDtcbiAgICBjb25zdCBpc1RydW5jYXRlZCA9IGRpc3BsYXlUZXh0ICE9PSBudWxsICYmIGRpc3BsYXlUZXh0ICE9PSBmdWxsVGV4dDtcbiAgICBjb25zdCByZXNvbHZlZENvcHlhYmxlID0gdXNlTWVtbygoKSA9PiByZXNvbHZlQ29weWFibGUoY29weWFibGUsIGZ1bGxUZXh0KSwgW2NvcHlhYmxlLCBmdWxsVGV4dF0pO1xuICAgIGNvbnN0IHNldFRleHROb2RlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0ZXh0Tm9kZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRNZWFzdXJlTm9kZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgbWVhc3VyZU5vZGVSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgLy8gTWVhc3VyZSBvdmVyZmxvdyBvbiB0aGUgaGlkZGVuIHNwYW4gKGFsd2F5cyBjb250YWlucyBmdWxsIHRleHQpXG4gICAgY29uc3QgbWVhc3VyZU92ZXJmbG93ID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBtZWFzdXJlTm9kZVJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIW5vZGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHNldElzT3ZlcmZsb3dlZChub2RlLnNjcm9sbFdpZHRoID4gbm9kZS5jbGllbnRXaWR0aCk7XG4gICAgfSk7XG4gICAgY29uc3QgZ2V0TWVhc3VyZU5vZGUgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gbWVhc3VyZU5vZGVSZWYuY3VycmVudCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOyB9KTtcbiAgICB1c2VSZXNpemVPYnNlcnZlcihlbGxpcHNpc0VuYWJsZWQgJiYgISFtZWFzdXJlTm9kZVJlZi5jdXJyZW50LCBnZXRNZWFzdXJlTm9kZSwgbWVhc3VyZU92ZXJmbG93KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoZWxsaXBzaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBtZWFzdXJlT3ZlcmZsb3coKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNldElzT3ZlcmZsb3dlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH0sIFtlbGxpcHNpc0VuYWJsZWQsIGNoaWxkcmVuLCBtZWFzdXJlT3ZlcmZsb3csIHNldElzT3ZlcmZsb3dlZF0pO1xuICAgIGNvbnN0IGVsbGlwc2lzVG9vbHRpcFByb3BzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBpZiAoIWVsbGlwc2lzSGFzVG9vbHRpcCB8fCAhaXNUcnVuY2F0ZWQgfHwgIXRleHRJZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdG9vbHRpcENvbmZpZyA9IHJlc29sdmVkRWxsaXBzaXMudG9vbHRpcDtcbiAgICAgICAgaWYgKHRvb2x0aXBDb25maWcgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgYm9keTogZnVsbFRleHQsXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQsXG4gICAgICAgICAgICAgICAgbWlkZGxld2FyZXM6IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0b29sdGlwQ29uZmlnKSwgeyBib2R5OiAoX2EgPSB0b29sdGlwQ29uZmlnLmJvZHkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGZ1bGxUZXh0LCBwbGFjZW1lbnQ6IChfYiA9IHRvb2x0aXBDb25maWcucGxhY2VtZW50KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQsIG1pZGRsZXdhcmVzOiAoX2MgPSB0b29sdGlwQ29uZmlnLm1pZGRsZXdhcmVzKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9NSURETEVXQVJFUyB9KTtcbiAgICB9LCBbZnVsbFRleHQsIGlzVHJ1bmNhdGVkLCBlbGxpcHNpc0hhc1Rvb2x0aXAsIHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy50b29sdGlwLCB0ZXh0SWRdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBlbGxpcHNpczogcmVzb2x2ZWRFbGxpcHNpcyxcbiAgICAgICAgZnVsbFRleHQsXG4gICAgICAgIGRpc3BsYXlUZXh0LFxuICAgICAgICBjb3B5VGV4dDogKF9hID0gcmVzb2x2ZWRDb3B5YWJsZSA9PT0gbnVsbCB8fCByZXNvbHZlZENvcHlhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXNvbHZlZENvcHlhYmxlLnRleHQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGwsXG4gICAgICAgIG9uQ29weTogcmVzb2x2ZWRDb3B5YWJsZSA9PT0gbnVsbCB8fCByZXNvbHZlZENvcHlhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXNvbHZlZENvcHlhYmxlLm9uQ29weSxcbiAgICAgICAgdGV4dElkLFxuICAgICAgICBlbGxpcHNpc1Rvb2x0aXBQcm9wcyxcbiAgICAgICAgaXNJbmxpbmVDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJUYWc6IHJlc29sdmVkQ29weWFibGUgPyBnZXRFbmhhbmNlbWVudFdyYXBwZXJUYWcoaXNJbmxpbmVDb21wb25lbnQpIDogdW5kZWZpbmVkLFxuICAgICAgICBzZXRUZXh0Tm9kZSxcbiAgICAgICAgc2V0TWVhc3VyZU5vZGUsXG4gICAgfTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
112
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS91c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzLnRzIiwiY29tcG9uZW50cy9UeXBvZ3JhcGh5L3VzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMuanMiXSwibmFtZXMiOlsidXNlRXZlbnRDYWxsYmFjayIsInVzZVNhZmVTdGF0ZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VSZXNpemVPYnNlcnZlciIsIkRFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTIiwiREVGQVVMVF9UWVBPR1JBUEhZX1RPT0xUSVBfUExBQ0VNRU5UIiwiZXh0cmFjdFRleHRDb250ZW50IiwiZ2V0RW5oYW5jZW1lbnRXcmFwcGVyVGFnIiwiZ2V0U3RhYmxlSWQiLCJpc0lubGluZVR5cG9ncmFwaHlUYWciLCJub3JtYWxpemVFbGxpcHNpcyIsInRydW5jYXRlTWlkZGxlIiwicmVzb2x2ZUNvcHlhYmxlIiwiY29weWFibGUiLCJmdWxsVGV4dCIsIl9hIiwidGV4dCIsIm9uQ29weSIsInVzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMiLCJvcHRpb25zIiwiY29tcG9uZW50VGFnIiwiZGVmYXVsdExheW91dE1vZGUiLCJwcmVmaXhDbHMiLCJpZCIsImNoaWxkcmVuIiwiZWxsaXBzaXMiLCJ0ZXh0Tm9kZVJlZiIsIm1lYXN1cmVOb2RlUmVmIiwiZ2VuZXJhdGVkVGV4dElkUmVmIiwidW5kZWZpbmVkIiwiX3VzZVNhZmVTdGF0ZSIsIl91c2VTYWZlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc092ZXJmbG93ZWQiLCJzZXRJc092ZXJmbG93ZWQiLCJyZXNvbHZlZEVsbGlwc2lzIiwiZWxsaXBzaXNFbmFibGVkIiwiZWxsaXBzaXNIYXNUb29sdGlwIiwidG9vbHRpcCIsImlzSW5saW5lQ29tcG9uZW50IiwidGV4dElkIiwidHJ1bmNhdGVkVGV4dCIsInN0YXJ0IiwiZW5kIiwiZGlzcGxheVRleHQiLCJpc1RydW5jYXRlZCIsInJlc29sdmVkQ29weWFibGUiLCJzZXRUZXh0Tm9kZSIsIm5vZGUiLCJjdXJyZW50Iiwic2V0TWVhc3VyZU5vZGUiLCJtZWFzdXJlT3ZlcmZsb3ciLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwiZ2V0TWVhc3VyZU5vZGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJlbGxpcHNpc1Rvb2x0aXBQcm9wcyIsIl9iIiwiX2MiLCJ0b29sdGlwQ29uZmlnIiwiYm9keSIsInBsYWNlbWVudCIsIm1pZGRsZXdhcmVzIiwiT2JqZWN0IiwiYXNzaWduIiwiY29weVRleHQiLCJ3cmFwcGVyVGFnIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsZ0JBQWdCLE1BQU0sZ0NBQWdDO0FBQzdELE9BQU9DLFlBQVksTUFBTSw0QkFBNEI7QUFDckQsU0FBU0MsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ2xELFNBQVNDLGlCQUFpQixRQUFRLG1CQUFtQjtBQUtyRCxTQUFTQyxzQ0FBc0MsRUFBRUMsb0NBQW9DLFFBQVEsYUFBYTtBQUUxRyxTQUNFQyxrQkFBa0IsRUFDbEJDLHdCQUF3QixFQUN4QkMsV0FBVyxFQUNYQyxxQkFBcUIsRUFDckJDLGlCQUFpQixFQUNqQkMsY0FBYyxRQUNULFNBQVM7QUFnRGhCLFNBQVNDLGVBQWVBLENBQ3RCQyxRQUF3RCxFQUN4REMsUUFBZ0IsRUFBQTtFQzVEZCxJQUFJQyxFQUFFO0VEOERSLElBQUksQ0FBQ0YsUUFBUSxFQUFFLE9BQU8sSUFBSTtFQUUxQixJQUFJQSxRQUFRLEtBQUssSUFBSSxFQUFFO0lBQ3JCLE9BQU87TUFBRUcsSUFBSSxFQUFFRjtJQUFRLENBQUU7RUFDM0I7RUFFQSxPQUFPO0lBQ0xFLElBQUksRUFBRSxDQUFBRCxFQUFBLEdBQUFGLFFBQVEsQ0FBQ0csSUFBSSxNQUFBLElBQUEsSUFBQUQsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlELFFBQVE7SUFDL0JHLE1BQU0sRUFB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TztJQUNMZixRQUFRLEVBQUVVLGdCQUFnQjtJQUMxQnJCLFFBQVEsRUFBUkEsUUFBUTtJQUNSOEIsV0FBVyxFQUFYQSxXQUFXO0lBQ1hzQixRQUFRLEVBQUUsQ0FBQW5ELEVBQUEsR0FBQStCLGdCQUFnQixLQUFBLElBQUEsSUFBaEJBLGdCQUFnQixLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFoQkEsZ0JBQWdCLENBQUU5QixJQUFJLE1BQUEsSUFBQSxJQUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxJQUFJO0lBQ3hDRSxNQUFNLEVBQUU2QixnQkFBZ0IsS0FBQSxJQUFBLElBQWhCQSxnQkFBZ0IsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBaEJBLGdCQUFnQixDQUFFN0IsTUFBTTtJQUNoQ3VCLE1BQU0sRUFBTkEsTUFBTTtJQUNOaUIsb0JBQW9CLEVBQXBCQSxvQkFBb0I7SUFDcEJsQixpQkFBaUIsRUFBakJBLGlCQUFpQjtJQUNqQjRCLFVBQVUsRUFBRXJCLGdCQUFnQixHQUFHdkMsd0JBQXdCLENBQUNnQyxpQkFBaUIsQ0FBQyxHQUFHVixTQUFTO0lBQ3RGa0IsV0FBVyxFQUFYQSxXQUFXO0lBQ1hHLGNBQWMsRUFBZEE7RUNuRkEsQ0RvRkQ7QUFDSCIsImZpbGUiOiJjb21wb25lbnRzL1R5cG9ncmFwaHkvdXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB1c2VTYWZlU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VTYWZlU3RhdGUnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJy4uL1Jlc2l6ZU9ic2VydmVyJztcbmltcG9ydCB7IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTLCBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0VGV4dENvbnRlbnQsIGdldEVuaGFuY2VtZW50V3JhcHBlclRhZywgZ2V0U3RhYmxlSWQsIGlzSW5saW5lVHlwb2dyYXBoeVRhZywgbm9ybWFsaXplRWxsaXBzaXMsIHRydW5jYXRlTWlkZGxlLCB9IGZyb20gJy4vdXRpbHMnO1xuZnVuY3Rpb24gcmVzb2x2ZUNvcHlhYmxlKGNvcHlhYmxlLCBmdWxsVGV4dCkge1xuICAgIHZhciBfYTtcbiAgICBpZiAoIWNvcHlhYmxlKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29weWFibGUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogZnVsbFRleHQgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dDogKF9hID0gY29weWFibGUudGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZnVsbFRleHQsXG4gICAgICAgIG9uQ29weTogY29weWFibGUub25Db3B5LFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gdXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cyhvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY29tcG9uZW50VGFnLCBkZWZhdWx0TGF5b3V0TW9kZSwgcHJlZml4Q2xzLCBpZCwgY2hpbGRyZW4sIGVsbGlwc2lzLCBjb3B5YWJsZSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB0ZXh0Tm9kZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBtZWFzdXJlTm9kZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBnZW5lcmF0ZWRUZXh0SWRSZWYgPSB1c2VSZWYodW5kZWZpbmVkKTtcbiAgICAvLyBEZWZhdWx0IHRvIHRydWUgc28gdHJ1bmNhdGVkIHRleHQgaXMgc2hvd24gaW1tZWRpYXRlbHkgKG5vIGZsYXNoKVxuICAgIGNvbnN0IFtpc092ZXJmbG93ZWQsIHNldElzT3ZlcmZsb3dlZF0gPSB1c2VTYWZlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgcmVzb2x2ZWRFbGxpcHNpcyA9IG5vcm1hbGl6ZUVsbGlwc2lzKGVsbGlwc2lzKTtcbiAgICBjb25zdCBlbGxpcHNpc0VuYWJsZWQgPSByZXNvbHZlZEVsbGlwc2lzICE9PSBudWxsO1xuICAgIGNvbnN0IGVsbGlwc2lzSGFzVG9vbHRpcCA9ICEhKHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy50b29sdGlwKTtcbiAgICBjb25zdCBpc0lubGluZUNvbXBvbmVudCA9IGlzSW5saW5lVHlwb2dyYXBoeVRhZyhjb21wb25lbnRUYWcsIGRlZmF1bHRMYXlvdXRNb2RlKTtcbiAgICBjb25zdCB0ZXh0SWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiAoZWxsaXBzaXNIYXNUb29sdGlwXG4gICAgICAgID8gZ2V0U3RhYmxlSWQoZ2VuZXJhdGVkVGV4dElkUmVmLCBwcmVmaXhDbHMsICdlbGxpcHNpcycpXG4gICAgICAgIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBmdWxsVGV4dCA9IHVzZU1lbW8oKCkgPT4gZXh0cmFjdFRleHRDb250ZW50KGNoaWxkcmVuKSwgW2NoaWxkcmVuXSk7XG4gICAgY29uc3QgdHJ1bmNhdGVkVGV4dCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoIXJlc29sdmVkRWxsaXBzaXMpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRydW5jYXRlTWlkZGxlKGZ1bGxUZXh0LCByZXNvbHZlZEVsbGlwc2lzLnN0YXJ0LCByZXNvbHZlZEVsbGlwc2lzLmVuZCk7XG4gICAgfSwgW2Z1bGxUZXh0LCByZXNvbHZlZEVsbGlwc2lzID09PSBudWxsIHx8IHJlc29sdmVkRWxsaXBzaXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc29sdmVkRWxsaXBzaXMuc3RhcnQsIHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy5lbmRdKTtcbiAgICBjb25zdCBkaXNwbGF5VGV4dCA9IGVsbGlwc2lzRW5hYmxlZCAmJiBpc092ZXJmbG93ZWQgPyB0cnVuY2F0ZWRUZXh0IDogbnVsbDtcbiAgICBjb25zdCBpc1RydW5jYXRlZCA9IGRpc3BsYXlUZXh0ICE9PSBudWxsICYmIGRpc3BsYXlUZXh0ICE9PSBmdWxsVGV4dDtcbiAgICBjb25zdCByZXNvbHZlZENvcHlhYmxlID0gdXNlTWVtbygoKSA9PiByZXNvbHZlQ29weWFibGUoY29weWFibGUsIGZ1bGxUZXh0KSwgW2NvcHlhYmxlLCBmdWxsVGV4dF0pO1xuICAgIGNvbnN0IHNldFRleHROb2RlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0ZXh0Tm9kZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRNZWFzdXJlTm9kZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgbWVhc3VyZU5vZGVSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgLy8gTWVhc3VyZSBvdmVyZmxvdyBvbiB0aGUgaGlkZGVuIHNwYW4gKGFsd2F5cyBjb250YWlucyBmdWxsIHRleHQpXG4gICAgY29uc3QgbWVhc3VyZU92ZXJmbG93ID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBtZWFzdXJlTm9kZVJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIW5vZGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHNldElzT3ZlcmZsb3dlZChub2RlLnNjcm9sbFdpZHRoID4gbm9kZS5jbGllbnRXaWR0aCk7XG4gICAgfSk7XG4gICAgY29uc3QgZ2V0TWVhc3VyZU5vZGUgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gbWVhc3VyZU5vZGVSZWYuY3VycmVudCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOyB9KTtcbiAgICB1c2VSZXNpemVPYnNlcnZlcihlbGxpcHNpc0VuYWJsZWQgJiYgISFtZWFzdXJlTm9kZVJlZi5jdXJyZW50LCBnZXRNZWFzdXJlTm9kZSwgbWVhc3VyZU92ZXJmbG93KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoZWxsaXBzaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBtZWFzdXJlT3ZlcmZsb3coKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNldElzT3ZlcmZsb3dlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH0sIFtlbGxpcHNpc0VuYWJsZWQsIGNoaWxkcmVuLCBtZWFzdXJlT3ZlcmZsb3csIHNldElzT3ZlcmZsb3dlZF0pO1xuICAgIGNvbnN0IGVsbGlwc2lzVG9vbHRpcFByb3BzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBpZiAoIWVsbGlwc2lzSGFzVG9vbHRpcCB8fCAhaXNUcnVuY2F0ZWQgfHwgIXRleHRJZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdG9vbHRpcENvbmZpZyA9IHJlc29sdmVkRWxsaXBzaXMudG9vbHRpcDtcbiAgICAgICAgaWYgKHRvb2x0aXBDb25maWcgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgYm9keTogZnVsbFRleHQsXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQsXG4gICAgICAgICAgICAgICAgbWlkZGxld2FyZXM6IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0b29sdGlwQ29uZmlnKSwgeyBib2R5OiAoX2EgPSB0b29sdGlwQ29uZmlnLmJvZHkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGZ1bGxUZXh0LCBwbGFjZW1lbnQ6IChfYiA9IHRvb2x0aXBDb25maWcucGxhY2VtZW50KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQsIG1pZGRsZXdhcmVzOiAoX2MgPSB0b29sdGlwQ29uZmlnLm1pZGRsZXdhcmVzKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9NSURETEVXQVJFUyB9KTtcbiAgICB9LCBbZnVsbFRleHQsIGlzVHJ1bmNhdGVkLCBlbGxpcHNpc0hhc1Rvb2x0aXAsIHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy50b29sdGlwLCB0ZXh0SWRdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBlbGxpcHNpczogcmVzb2x2ZWRFbGxpcHNpcyxcbiAgICAgICAgZnVsbFRleHQsXG4gICAgICAgIGRpc3BsYXlUZXh0LFxuICAgICAgICBjb3B5VGV4dDogKF9hID0gcmVzb2x2ZWRDb3B5YWJsZSA9PT0gbnVsbCB8fCByZXNvbHZlZENvcHlhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXNvbHZlZENvcHlhYmxlLnRleHQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGwsXG4gICAgICAgIG9uQ29weTogcmVzb2x2ZWRDb3B5YWJsZSA9PT0gbnVsbCB8fCByZXNvbHZlZENvcHlhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXNvbHZlZENvcHlhYmxlLm9uQ29weSxcbiAgICAgICAgdGV4dElkLFxuICAgICAgICBlbGxpcHNpc1Rvb2x0aXBQcm9wcyxcbiAgICAgICAgaXNJbmxpbmVDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJUYWc6IHJlc29sdmVkQ29weWFibGUgPyBnZXRFbmhhbmNlbWVudFdyYXBwZXJUYWcoaXNJbmxpbmVDb21wb25lbnQpIDogdW5kZWZpbmVkLFxuICAgICAgICBzZXRUZXh0Tm9kZSxcbiAgICAgICAgc2V0TWVhc3VyZU5vZGUsXG4gICAgfTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -11,6 +11,8 @@ export var getTypographyClassName = function getTypographyClassName(options) {
11
11
  color = options.color,
12
12
  _options$strong = options.strong,
13
13
  strong = _options$strong === void 0 ? false : _options$strong,
14
+ _options$singleLine = options.singleLine,
15
+ singleLine = _options$singleLine === void 0 ? false : _options$singleLine,
14
16
  _options$italic = options.italic,
15
17
  italic = _options$italic === void 0 ? false : _options$italic,
16
18
  _options$underline = options.underline,
@@ -24,7 +26,7 @@ export var getTypographyClassName = function getTypographyClassName(options) {
24
26
  _options$copyable = options.copyable,
25
27
  copyable = _options$copyable === void 0 ? false : _options$copyable;
26
28
  var classes = classnames(prefixCls);
27
- return classes(undefined, joinCls(classes(category), classes("".concat(category, "-").concat(size)), color && classes("color-".concat(color)), strong && classes('strong'), italic && classes('italic'), underline && classes('underline'), isDeleted && classes('delete'), underline && isDeleted && classes('underline-delete'), disabled && classes('disabled'), ellipsis && classes('ellipsis'), copyable && classes('copyable-content'), className));
29
+ return classes(undefined, joinCls(classes(category), classes("".concat(category, "-").concat(size)), color && classes("color-".concat(color)), strong && classes('strong'), singleLine && classes('single-line'), italic && classes('italic'), underline && classes('underline'), isDeleted && classes('delete'), underline && isDeleted && classes('underline-delete'), disabled && classes('disabled'), ellipsis && classes('ellipsis'), copyable && classes('copyable-content'), className));
28
30
  };
29
31
  export function normalizeEllipsis(ellipsis) {
30
32
  var _a, _b, _c;
@@ -85,4 +87,4 @@ export function isInlineTypographyTag(componentTag, defaultLayoutMode) {
85
87
  export function getEnhancementWrapperTag(isInlineComponent) {
86
88
  return isInlineComponent ? 'span' : 'div';
87
89
  }
88
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS91dGlscy50c3giLCJjb21wb25lbnRzL1R5cG9ncmFwaHkvdXRpbHMuanMiXSwibmFtZXMiOlsiaXNWYWxpZEVsZW1lbnQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsInV1aWQiLCJCTE9DS19XUkFQUEVSX1RBR1MiLCJERUZBVUxUX0VMTElQU0lTX0VORCIsIkRFRkFVTFRfRUxMSVBTSVNfU1RBUlQiLCJJTkxJTkVfTEFZT1VUIiwiZ2V0VHlwb2dyYXBoeUNsYXNzTmFtZSIsIm9wdGlvbnMiLCJwcmVmaXhDbHMiLCJjbGFzc05hbWUiLCJjYXRlZ29yeSIsInNpemUiLCJjb2xvciIsIl9vcHRpb25zJHN0cm9uZyIsInN0cm9uZyIsIl9vcHRpb25zJGl0YWxpYyIsIml0YWxpYyIsIl9vcHRpb25zJHVuZGVybGluZSIsInVuZGVybGluZSIsIl9vcHRpb25zJGlzRGVsZXRlZCIsImlzRGVsZXRlZCIsIl9vcHRpb25zJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfb3B0aW9ucyRlbGxpcHNpcyIsImVsbGlwc2lzIiwiX29wdGlvbnMkY29weWFibGUiLCJjb3B5YWJsZSIsImNsYXNzZXMiLCJ1bmRlZmluZWQiLCJjb25jYXQiLCJub3JtYWxpemVFbGxpcHNpcyIsIl9hIiwiX2IiLCJfYyIsInN0YXJ0IiwiZW5kIiwidG9vbHRpcCIsIk1hdGgiLCJtYXgiLCJ0cnVuYyIsInRydW5jYXRlTWlkZGxlIiwidGV4dCIsImxlbmd0aCIsInNsaWNlIiwiZXh0cmFjdFRleHRDb250ZW50Iiwibm9kZSIsIlN0cmluZyIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImpvaW4iLCJwcm9wcyIsImNoaWxkcmVuIiwiZ2V0U3RhYmxlSWQiLCJyZWYiLCJzdWZmaXgiLCJjdXJyZW50IiwiYXNzaWduUmVmIiwidmFsdWUiLCJfdHlwZW9mIiwiaXNJbmxpbmVUeXBvZ3JhcGh5VGFnIiwiY29tcG9uZW50VGFnIiwiZGVmYXVsdExheW91dE1vZGUiLCJoYXMiLCJnZXRFbmhhbmNlbWVudFdyYXBwZXJUYWciLCJpc0lubGluZUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLGNBQWMsUUFBUSxPQUFPO0FBQ3RDLE9BQU9DLFVBQVUsSUFBSUMsT0FBTyxRQUFRLHdCQUF3QjtBQUM1RCxTQUFTQyxJQUFJLFFBQVEsa0JBQWtCO0FBS3ZDLFNBQVNDLGtCQUFrQixFQUFFQyxvQkFBb0IsRUFBRUMsc0JBQXNCLEVBQUVDLGFBQWEsUUFBUSxhQUFhO0FBUTdHLE9BQU8sSUFBTUMsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSUMsT0FBbUMsRUFBSTtFQUM1RSxJQUNFQyxTQUFTLEdBWVBELE9BQU8sQ0FaVEMsU0FBUztJQUNUQyxTQUFTLEdBV1BGLE9BQU8sQ0FYVEUsU0FBUztJQUNUQyxRQUFRLEdBVU5ILE9BQU8sQ0FWVEcsUUFBUTtJQUNSQyxJQUFJLEdBU0ZKLE9BQU8sQ0FUVEksSUFBSTtJQUNKQyxLQUFLLEdBUUhMLE9BQU8sQ0FSVEssS0FBSztJQUFBQyxlQUFBLEdBUUhOLE9BQU8sQ0FQVE8sTUFBTTtJQUFOQSxNQUFNLEdBQUFELGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFBQUUsZUFBQSxHQU9aUixPQUFPLENBTlRTLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFFLGtCQUFBLEdBTVpWLE9BQU8sQ0FMVFcsU0FBUztJQUFUQSxTQUFTLEdBQUFELGtCQUFBLGNBQUcsS0FBSyxHQUFBQSxrQkFBQTtJQUFBRSxrQkFBQSxHQUtmWixPQUFPLENBSlRhLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxrQkFBQSxjQUFHLEtBQUssR0FBQUEsa0JBQUE7SUFBQUUsaUJBQUEsR0FJZmQsT0FBTyxDQUhUZSxRQUFRO0lBQVJBLFFBQVEsR0FBQUQsaUJBQUEsY0FBRyxLQUFLLEdBQUFBLGlCQUFBO0lBQUFFLGlCQUFBLEdBR2RoQixPQUFPLENBRlRpQixRQUFRO0lB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LEVBQUVDLGlCQUF1QyxFQUFBO0VBQzVHLElBQUk1RCxrQkFBa0IsQ0FBQzZELEdBQUcsQ0FBQ0YsWUFBWSxDQUFDLEVBQUU7SUFDeEMsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxPQUFPQyxpQkFBaUIsS0FBS3pELGFBQWE7QUFDNUM7QUFFQSxPQUFNLFNBQVUyRCx3QkFBd0JBLENBQUNDLGlCQUEwQixFQUFBO0VBQ2pFLE9BQU9BLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxLQUFLO0FBQzNDIiwiZmlsZSI6ImNvbXBvbmVudHMvVHlwb2dyYXBoeS91dGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgaXNWYWxpZEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcywgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXVpZCc7XG5pbXBvcnQgeyBCTE9DS19XUkFQUEVSX1RBR1MsIERFRkFVTFRfRUxMSVBTSVNfRU5ELCBERUZBVUxUX0VMTElQU0lTX1NUQVJULCBJTkxJTkVfTEFZT1VUIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0IGNvbnN0IGdldFR5cG9ncmFwaHlDbGFzc05hbWUgPSAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHsgcHJlZml4Q2xzLCBjbGFzc05hbWUsIGNhdGVnb3J5LCBzaXplLCBjb2xvciwgc3Ryb25nID0gZmFsc2UsIGl0YWxpYyA9IGZhbHNlLCB1bmRlcmxpbmUgPSBmYWxzZSwgaXNEZWxldGVkID0gZmFsc2UsIGRpc2FibGVkID0gZmFsc2UsIGVsbGlwc2lzID0gZmFsc2UsIGNvcHlhYmxlID0gZmFsc2UsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgcmV0dXJuIGNsYXNzZXModW5kZWZpbmVkLCBqb2luQ2xzKGNsYXNzZXMoY2F0ZWdvcnkpLCBjbGFzc2VzKGAke2NhdGVnb3J5fS0ke3NpemV9YCksIGNvbG9yICYmIGNsYXNzZXMoYGNvbG9yLSR7Y29sb3J9YCksIHN0cm9uZyAmJiBjbGFzc2VzKCdzdHJvbmcnKSwgaXRhbGljICYmIGNsYXNzZXMoJ2l0YWxpYycpLCB1bmRlcmxpbmUgJiYgY2xhc3NlcygndW5kZXJsaW5lJyksIGlzRGVsZXRlZCAmJiBjbGFzc2VzKCdkZWxldGUnKSwgdW5kZXJsaW5lICYmIGlzRGVsZXRlZCAmJiBjbGFzc2VzKCd1bmRlcmxpbmUtZGVsZXRlJyksIGRpc2FibGVkICYmIGNsYXNzZXMoJ2Rpc2FibGVkJyksIGVsbGlwc2lzICYmIGNsYXNzZXMoJ2VsbGlwc2lzJyksIGNvcHlhYmxlICYmIGNsYXNzZXMoJ2NvcHlhYmxlLWNvbnRlbnQnKSwgY2xhc3NOYW1lKSk7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUVsbGlwc2lzKGVsbGlwc2lzKSB7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgaWYgKCFlbGxpcHNpcylcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKGVsbGlwc2lzID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiB7IHN0YXJ0OiBERUZBVUxUX0VMTElQU0lTX1NUQVJULCBlbmQ6IERFRkFVTFRfRUxMSVBTSVNfRU5ELCB0b29sdGlwOiBmYWxzZSB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBzdGFydDogTWF0aC5tYXgoMSwgTWF0aC50cnVuYygoX2EgPSBlbGxpcHNpcy5zdGFydCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogREVGQVVMVF9FTExJUFNJU19TVEFSVCkpLFxuICAgICAgICBlbmQ6IE1hdGgubWF4KDEsIE1hdGgudHJ1bmMoKF9iID0gZWxsaXBzaXMuZW5kKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBERUZBVUxUX0VMTElQU0lTX0VORCkpLFxuICAgICAgICB0b29sdGlwOiAoX2MgPSBlbGxpcHNpcy50b29sdGlwKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBmYWxzZSxcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRydW5jYXRlTWlkZGxlKHRleHQsIHN0YXJ0LCBlbmQpIHtcbiAgICBpZiAodGV4dC5sZW5ndGggPD0gc3RhcnQgKyBlbmQgKyAzKVxuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICByZXR1cm4gdGV4dC5zbGljZSgwLCBzdGFydCkgKyAnLi4uJyArIHRleHQuc2xpY2UoLWVuZCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdFRleHRDb250ZW50KG5vZGUpIHtcbiAgICBpZiAobm9kZSA9PT0gbnVsbCB8fCBub2RlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIG5vZGUgPT09ICdib29sZWFuJykge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygbm9kZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcobm9kZSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGUpKSB7XG4gICAgICAgIHJldHVybiBub2RlLm1hcChleHRyYWN0VGV4dENvbnRlbnQpLmpvaW4oJycpO1xuICAgIH1cbiAgICBpZiAoaXNWYWxpZEVsZW1lbnQobm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RUZXh0Q29udGVudChub2RlLnByb3BzLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YWJsZUlkKHJlZiwgcHJlZml4Q2xzLCBzdWZmaXgpIHtcbiAgICBpZiAoIXJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJlZi5jdXJyZW50ID0gYCR7cHJlZml4Q2xzfS0ke3N1ZmZpeH0tJHt1dWlkKCl9YDtcbiAgICB9XG4gICAgcmV0dXJuIHJlZi5jdXJyZW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnblJlZihyZWYsIHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmVmKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAocmVmICYmIHR5cGVvZiByZWYgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSW5saW5lVHlwb2dyYXBoeVRhZyhjb21wb25lbnRUYWcsIGRlZmF1bHRMYXlvdXRNb2RlKSB7XG4gICAgaWYgKEJMT0NLX1dSQVBQRVJfVEFHUy5oYXMoY29tcG9uZW50VGFnKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBkZWZhdWx0TGF5b3V0TW9kZSA9PT0gSU5MSU5FX0xBWU9VVDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbmhhbmNlbWVudFdyYXBwZXJUYWcoaXNJbmxpbmVDb21wb25lbnQpIHtcbiAgICByZXR1cm4gaXNJbmxpbmVDb21wb25lbnQgPyAnc3BhbicgOiAnZGl2Jztcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
90
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS91dGlscy50c3giLCJjb21wb25lbnRzL1R5cG9ncmFwaHkvdXRpbHMuanMiXSwibmFtZXMiOlsiaXNWYWxpZEVsZW1lbnQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsInV1aWQiLCJCTE9DS19XUkFQUEVSX1RBR1MiLCJERUZBVUxUX0VMTElQU0lTX0VORCIsIkRFRkFVTFRfRUxMSVBTSVNfU1RBUlQiLCJJTkxJTkVfTEFZT1VUIiwiZ2V0VHlwb2dyYXBoeUNsYXNzTmFtZSIsIm9wdGlvbnMiLCJwcmVmaXhDbHMiLCJjbGFzc05hbWUiLCJjYXRlZ29yeSIsInNpemUiLCJjb2xvciIsIl9vcHRpb25zJHN0cm9uZyIsInN0cm9uZyIsIl9vcHRpb25zJHNpbmdsZUxpbmUiLCJzaW5nbGVMaW5lIiwiX29wdGlvbnMkaXRhbGljIiwiaXRhbGljIiwiX29wdGlvbnMkdW5kZXJsaW5lIiwidW5kZXJsaW5lIiwiX29wdGlvbnMkaXNEZWxldGVkIiwiaXNEZWxldGVkIiwiX29wdGlvbnMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsIl9vcHRpb25zJGVsbGlwc2lzIiwiZWxsaXBzaXMiLCJfb3B0aW9ucyRjb3B5YWJsZSIsImNvcHlhYmxlIiwiY2xhc3NlcyIsInVuZGVmaW5lZCIsImNvbmNhdCIsIm5vcm1hbGl6ZUVsbGlwc2lzIiwiX2EiLCJfYiIsIl9jIiwic3RhcnQiLCJlbmQiLCJ0b29sdGlwIiwiTWF0aCIsIm1heCIsInRydW5jIiwidHJ1bmNhdGVNaWRkbGUiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJleHRyYWN0VGV4dENvbnRlbnQiLCJub2RlIiwiU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiam9pbiIsInByb3BzIiwiY2hpbGRyZW4iLCJnZXRTdGFibGVJZCIsInJlZiIsInN1ZmZpeCIsImN1cnJlbnQiLCJhc3NpZ25SZWYiLCJ2YWx1ZSIsIl90eXBlb2YiLCJpc0lubGluZVR5cG9ncmFwaHlUYWciLCJjb21wb25lbnRUYWciLCJkZWZhdWx0TGF5b3V0TW9kZSIsImhhcyIsImdldEVuaGFuY2VtZW50V3JhcHBlclRhZyIsImlzSW5saW5lQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsY0FBYyxRQUFRLE9BQU87QUFDdEMsT0FBT0MsVUFBVSxJQUFJQyxPQUFPLFFBQVEsd0JBQXdCO0FBQzVELFNBQVNDLElBQUksUUFBUSxrQkFBa0I7QUFLdkMsU0FBU0Msa0JBQWtCLEVBQUVDLG9CQUFvQixFQUFFQyxzQkFBc0IsRUFBRUMsYUFBYSxRQUFRLGFBQWE7QUFRN0csT0FBTyxJQUFNQyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJQyxPQUFtQyxFQUFJO0VBQzVFLElBQ0VDLFNBQVMsR0FhUEQsT0FBTyxDQWJUQyxTQUFTO0lBQ1RDLFNBQVMsR0FZUEYsT0FBTyxDQVpURSxTQUFTO0lBQ1RDLFFBQVEsR0FXTkgsT0FBTyxDQVhURyxRQUFRO0lBQ1JDLElBQUksR0FVRkosT0FBTyxDQVZUSSxJQUFJO0lBQ0pDLEtBQUssR0FTSEwsT0FBTyxDQVRUSyxLQUFLO0lBQUFDLGVBQUEsR0FTSE4sT0FBTyxDQVJUTyxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsZUFBQSxjQUFHLEtBQUssR0FBQUEsZUFBQTtJQUFBRSxtQkFBQSxHQVFaUixPQUFPLENBUFRTLFVBQVU7SUFBVkEsVUFBVSxHQUFBRCxtQkFBQSxjQUFHLEtBQUssR0FBQUEsbUJBQUE7SUFBQUUsZUFBQSxHQU9oQlYsT0FBTyxDQU5UVyxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsZUFBQSxjQUFHLEtBQUssR0FBQUEsZUFBQTtJQUFBRSxrQkFBQSxHQU1aWixPQUFPLENBTFRhLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxrQkFBQSxjQUFHLEtBQUssR0FBQUEsa0JBQUE7SUFBQUUsa0JBQUEsR0FLZmQsT0FBTyxDQUpUZSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsa0JBQUEsY0FBRyxLQUFLLEdBQUFBLGtCQUFBO0lB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SSxLQUFLLENBQUM7SUFDVjtFQUNGO0VBRUEsSUFBSUosR0FBRyxJQUFJSyxPQUFBLENBQU9MLEdBQUcsTUFBSyxRQUFRLEVBQUU7SUFDakNBLEdBQTJCLENBQUNFLE9BQU8sR0FBR0UsS0FBSztFQUM5QztBQUNGO0FBRUEsT0FBTSxTQUFVRSxxQkFBcUJBLENBQUNDLFlBQStCLEVBQUVDLGlCQUF1QyxFQUFBO0VBQzVHLElBQUk5RCxrQkFBa0IsQ0FBQytELEdBQUcsQ0FBQ0YsWUFBWSxDQUFDLEVBQUU7SUFDeEMsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxPQUFPQyxpQkFBaUIsS0FBSzNELGFBQWE7QUFDNUM7QUFFQSxPQUFNLFNBQVU2RCx3QkFBd0JBLENBQUNDLGlCQUEwQixFQUFBO0VBQ2pFLE9BQU9BLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxLQUFLO0FBQzNDIiwiZmlsZSI6ImNvbXBvbmVudHMvVHlwb2dyYXBoeS91dGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgaXNWYWxpZEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcywgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXVpZCc7XG5pbXBvcnQgeyBCTE9DS19XUkFQUEVSX1RBR1MsIERFRkFVTFRfRUxMSVBTSVNfRU5ELCBERUZBVUxUX0VMTElQU0lTX1NUQVJULCBJTkxJTkVfTEFZT1VUIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0IGNvbnN0IGdldFR5cG9ncmFwaHlDbGFzc05hbWUgPSAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHsgcHJlZml4Q2xzLCBjbGFzc05hbWUsIGNhdGVnb3J5LCBzaXplLCBjb2xvciwgc3Ryb25nID0gZmFsc2UsIHNpbmdsZUxpbmUgPSBmYWxzZSwgaXRhbGljID0gZmFsc2UsIHVuZGVybGluZSA9IGZhbHNlLCBpc0RlbGV0ZWQgPSBmYWxzZSwgZGlzYWJsZWQgPSBmYWxzZSwgZWxsaXBzaXMgPSBmYWxzZSwgY29weWFibGUgPSBmYWxzZSwgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICByZXR1cm4gY2xhc3Nlcyh1bmRlZmluZWQsIGpvaW5DbHMoY2xhc3NlcyhjYXRlZ29yeSksIGNsYXNzZXMoYCR7Y2F0ZWdvcnl9LSR7c2l6ZX1gKSwgY29sb3IgJiYgY2xhc3NlcyhgY29sb3ItJHtjb2xvcn1gKSwgc3Ryb25nICYmIGNsYXNzZXMoJ3N0cm9uZycpLCBzaW5nbGVMaW5lICYmIGNsYXNzZXMoJ3NpbmdsZS1saW5lJyksIGl0YWxpYyAmJiBjbGFzc2VzKCdpdGFsaWMnKSwgdW5kZXJsaW5lICYmIGNsYXNzZXMoJ3VuZGVybGluZScpLCBpc0RlbGV0ZWQgJiYgY2xhc3NlcygnZGVsZXRlJyksIHVuZGVybGluZSAmJiBpc0RlbGV0ZWQgJiYgY2xhc3NlcygndW5kZXJsaW5lLWRlbGV0ZScpLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdkaXNhYmxlZCcpLCBlbGxpcHNpcyAmJiBjbGFzc2VzKCdlbGxpcHNpcycpLCBjb3B5YWJsZSAmJiBjbGFzc2VzKCdjb3B5YWJsZS1jb250ZW50JyksIGNsYXNzTmFtZSkpO1xufTtcbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVFbGxpcHNpcyhlbGxpcHNpcykge1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIGlmICghZWxsaXBzaXMpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGlmIChlbGxpcHNpcyA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4geyBzdGFydDogREVGQVVMVF9FTExJUFNJU19TVEFSVCwgZW5kOiBERUZBVUxUX0VMTElQU0lTX0VORCwgdG9vbHRpcDogZmFsc2UgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3RhcnQ6IE1hdGgubWF4KDEsIE1hdGgudHJ1bmMoKF9hID0gZWxsaXBzaXMuc3RhcnQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IERFRkFVTFRfRUxMSVBTSVNfU1RBUlQpKSxcbiAgICAgICAgZW5kOiBNYXRoLm1heCgxLCBNYXRoLnRydW5jKChfYiA9IGVsbGlwc2lzLmVuZCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogREVGQVVMVF9FTExJUFNJU19FTkQpKSxcbiAgICAgICAgdG9vbHRpcDogKF9jID0gZWxsaXBzaXMudG9vbHRpcCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogZmFsc2UsXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0cnVuY2F0ZU1pZGRsZSh0ZXh0LCBzdGFydCwgZW5kKSB7XG4gICAgaWYgKHRleHQubGVuZ3RoIDw9IHN0YXJ0ICsgZW5kICsgMylcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgcmV0dXJuIHRleHQuc2xpY2UoMCwgc3RhcnQpICsgJy4uLicgKyB0ZXh0LnNsaWNlKC1lbmQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RUZXh0Q29udGVudChub2RlKSB7XG4gICAgaWYgKG5vZGUgPT09IG51bGwgfHwgbm9kZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBub2RlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG5vZGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBub2RlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gU3RyaW5nKG5vZGUpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShub2RlKSkge1xuICAgICAgICByZXR1cm4gbm9kZS5tYXAoZXh0cmFjdFRleHRDb250ZW50KS5qb2luKCcnKTtcbiAgICB9XG4gICAgaWYgKGlzVmFsaWRFbGVtZW50KG5vZGUpKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0VGV4dENvbnRlbnQobm9kZS5wcm9wcy5jaGlsZHJlbik7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGFibGVJZChyZWYsIHByZWZpeENscywgc3VmZml4KSB7XG4gICAgaWYgKCFyZWYuY3VycmVudCkge1xuICAgICAgICByZWYuY3VycmVudCA9IGAke3ByZWZpeENsc30tJHtzdWZmaXh9LSR7dXVpZCgpfWA7XG4gICAgfVxuICAgIHJldHVybiByZWYuY3VycmVudDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ25SZWYocmVmLCB2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgcmVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJlZih2YWx1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHJlZiAmJiB0eXBlb2YgcmVmID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0lubGluZVR5cG9ncmFwaHlUYWcoY29tcG9uZW50VGFnLCBkZWZhdWx0TGF5b3V0TW9kZSkge1xuICAgIGlmIChCTE9DS19XUkFQUEVSX1RBR1MuaGFzKGNvbXBvbmVudFRhZykpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZGVmYXVsdExheW91dE1vZGUgPT09IElOTElORV9MQVlPVVQ7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RW5oYW5jZW1lbnRXcmFwcGVyVGFnKGlzSW5saW5lQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIGlzSW5saW5lQ29tcG9uZW50ID8gJ3NwYW4nIDogJ2Rpdic7XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==