@kaspernj/api-maker 1.0.2167 → 1.0.2169

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 (60) hide show
  1. package/build/bootstrap/card.js +3 -3
  2. package/build/bootstrap/checkboxes.js +3 -3
  3. package/build/draggable-sort/index.d.ts +1 -0
  4. package/build/draggable-sort/index.d.ts.map +1 -1
  5. package/build/draggable-sort/index.js +2 -1
  6. package/build/draggable-sort/item.d.ts +1 -0
  7. package/build/draggable-sort/item.d.ts.map +1 -1
  8. package/build/draggable-sort/item.js +12 -7
  9. package/build/inputs/attachment.js +2 -2
  10. package/build/inputs/input.js +2 -2
  11. package/build/router/route.d.ts.map +1 -1
  12. package/build/router/route.js +5 -6
  13. package/build/router/switch.d.ts.map +1 -1
  14. package/build/router/switch.js +4 -6
  15. package/build/super-admin/edit-page/edit-attribute-checkbox.js +2 -2
  16. package/build/super-admin/edit-page/edit-attribute-content.js +2 -2
  17. package/build/super-admin/index.js +4 -4
  18. package/build/super-admin/layout/header/index.js +5 -3
  19. package/build/super-admin/layout/index.js +5 -3
  20. package/build/super-admin/layout/menu/menu-item.js +7 -3
  21. package/build/super-admin/show-reflection-link.js +2 -2
  22. package/build/table/blocking-overlay.js +2 -2
  23. package/build/table/filters/filter-form.js +27 -27
  24. package/build/table/filters/index.d.ts.map +1 -1
  25. package/build/table/filters/index.js +23 -21
  26. package/build/table/filters/load-search-modal.d.ts.map +1 -1
  27. package/build/table/filters/load-search-modal.js +3 -5
  28. package/build/table/header-column.d.ts +4 -1
  29. package/build/table/header-column.d.ts.map +1 -1
  30. package/build/table/header-column.js +7 -6
  31. package/build/table/header-select.js +7 -3
  32. package/build/table/move-dragged-column-position.d.ts +40 -0
  33. package/build/table/move-dragged-column-position.d.ts.map +1 -0
  34. package/build/table/move-dragged-column-position.js +37 -0
  35. package/build/table/table.d.ts.map +1 -1
  36. package/build/table/table.js +38 -37
  37. package/build/table/worker-plugins-check-all-checkbox.js +7 -7
  38. package/build/table/worker-plugins-checkbox.js +3 -5
  39. package/build/updated-attribute.d.ts +12 -19
  40. package/build/updated-attribute.d.ts.map +1 -1
  41. package/build/updated-attribute.js +31 -21
  42. package/build/use-can-can.js +3 -3
  43. package/build/use-collection.d.ts.map +1 -1
  44. package/build/use-collection.js +13 -21
  45. package/build/use-current-user-context.js +3 -3
  46. package/build/use-model.d.ts.map +1 -1
  47. package/build/use-model.js +7 -4
  48. package/build/utils/button.js +7 -3
  49. package/build/utils/checkbox.js +3 -3
  50. package/build/utils/checkboxes.js +3 -3
  51. package/build/utils/default-style.d.ts +9 -1
  52. package/build/utils/default-style.d.ts.map +1 -1
  53. package/build/utils/default-style.js +33 -34
  54. package/build/utils/text-input.d.ts +27 -0
  55. package/build/utils/text-input.d.ts.map +1 -0
  56. package/build/utils/text-input.js +27 -0
  57. package/build/utils/with-default-style-slot.d.ts +28 -0
  58. package/build/utils/with-default-style-slot.d.ts.map +1 -0
  59. package/build/utils/with-default-style-slot.js +46 -0
  60. package/package.json +2 -2
@@ -127,12 +127,14 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
127
127
  }), children: [actions &&
128
128
  _jsx(Pressable, { dataSet: this.cache("actionsLinkDataSet", { class: "actions-link" }), onPress: this.tt.onGearsClicked, style: this.cache("actionsLinkStyle", { marginRight: 8, fontSize: 22 }), children: _jsx(Icon, { name: "gear", size: 20 }) }), _jsx(Pressable, { dataSet: this.cache("burgerMenuLinkDataSet", { class: "burger-menu-link" }), onPress: onTriggerMenu, children: _jsx(Icon, { name: "bars", size: 20 }) })] })] }));
129
129
  }
130
- onGearsClicked = () => this.setState({ headerActionsActive: !this.s.headerActionsActive });
130
+ onGearsClicked = () => {
131
+ this.s.headerActionsActive = !this.s.headerActionsActive;
132
+ };
131
133
  onWindowMouseUp = (e) => {
132
134
  // Close the header actions menu if clicked happened outside
133
135
  if (this.s.headerActionsActive && this.tt.headerActionsRef.current && !this.tt.headerActionsRef.current.contains(e.target)) {
134
- this.setState({ headerActionsActive: false });
136
+ this.s.headerActionsActive = false;
135
137
  }
136
138
  };
137
139
  }));
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9oZWFkZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osMkRBQTJEO0FBQzNELE9BQU8sS0FBSyxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNoRCxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUM1QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxnQkFBZ0IsTUFBTSx1QkFBdUIsQ0FBQTtBQUVwRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUE7QUFFbkIsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsRUFBRTtJQUM3QyxNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsYUFBYSxFQUFFLENBQUE7SUFFOUIsT0FBTyxXQUFXLENBQUMsQ0FBQyxFQUFDLFlBQVksR0FBRyxDQUFDLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRTtRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJO1lBQ2YsQ0FBQyxDQUFDO2dCQUNFLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixlQUFlLEVBQUUsQ0FBQztnQkFDbEIsaUJBQWlCLEVBQUUsRUFBRTtnQkFDckIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsV0FBVyxF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QzNILElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxtQkFBbUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgaW5kZW50LCBuby1yZXR1cm4tYXNzaWduLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvaWNvblwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcbmltcG9ydCB1c2VFdmVudExpc3RlbmVyIGZyb20gXCJ5YS11c2UtZXZlbnQtbGlzdGVuZXJcIlxuXG5jb25zdCBkYXRhU2V0cyA9IHt9XG5cbi8vIEhvb2sgZm9yIGNvbnNpc3RlbnQgYWN0aW9uIGJ1dHRvbiBzdHlsaW5nIGFjcm9zcyBicmVha3BvaW50c1xuZXhwb3J0IGNvbnN0IHVzZUhlYWRlckFjdGlvbkJ1dHRvblN0eWxlID0gKCkgPT4ge1xuICBjb25zdCB7bWRVcH0gPSB1c2VCcmVha3BvaW50KClcblxuICByZXR1cm4gdXNlQ2FsbGJhY2soKHtzdGFja2VkSW5kZXggPSAwfSA9IHt9KSA9PiB7XG4gICAgY29uc3QgYmFzZSA9IG1kVXBcbiAgICAgID8ge1xuICAgICAgICAgIGFsaWduU2VsZjogXCJmbGV4LXN0YXJ0XCIsXG4gICAgICAgICAgcGFkZGluZ1ZlcnRpY2FsOiA3LFxuICAgICAgICAgIHBhZGRpbmdIb3Jpem9udGFsOiAxMCxcbiAgICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgICAgICBib3JkZXJDb2xvcjogXCIjY2JkNWUxXCIsXG4gICAgICAgICAgbWFyZ2luUmlnaHQ6IDQsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiA0LFxuICAgICAgICAgIGJvcmRlclJhZGl1czogNSxcbiAgICAgICAgICBmb250U2l6ZTogMTNcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgYWxpZ25TZWxmOiBcInN0cmV0Y2hcIixcbiAgICAgICAgICBwYWRkaW5nOiAxMVxuICAgICAgICB9XG5cbiAgICBpZiAoIW1kVXAgJiYgc3RhY2tlZEluZGV4ID4gMCkge1xuICAgICAgYmFzZS5ib3JkZXJUb3BXaWR0aCA9IDFcbiAgICAgIGJhc2UuYm9yZGVyVG9wQ29sb3IgPSBcIiNjOWM5YzlcIlxuICAgIH1cblxuICAgIHJldHVybiBiYXNlXG4gIH0sIFttZFVwXSlcbn1cblxuLyoqIEB0eXBlZGVmIHtSZWNvcmQ8c3RyaW5nLCBuZXZlcj59IFByb3BzICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGhlYWRlckFjdGlvbnNBY3RpdmVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBBcGlNYWtlclN1cGVyQWRtaW5MYXlvdXRIZWFkZXIgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgIGFjdGlvbnM6IFByb3BUeXBlcy5ub2RlLFxuICAgIG9uVHJpZ2dlck1lbnU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSlcblxuICBzdGF0ZSA9IHtcbiAgICBoZWFkZXJBY3Rpb25zQWN0aXZlOiBmYWxzZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge25hbWU6IGJyZWFrcG9pbnQsIG1kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG5cbiAgICB0aGlzLmhlYWRlckFjdGlvbnNSZWYgPSB1c2VSZWYodW5kZWZpbmVkKVxuICAgIHRoaXMuYnJlYWtwb2ludCA9IGJyZWFrcG9pbnRcbiAgICB0aGlzLm1kVXAgPSBtZFVwXG5cbiAgICB1c2VFdmVudExpc3RlbmVyKHdpbmRvdywgXCJtb3VzZXVwXCIsIHRoaXMudHQub25XaW5kb3dNb3VzZVVwKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHticmVha3BvaW50LCBtZFVwfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YWN0aW9ucywgb25UcmlnZ2VyTWVudSwgdGl0bGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+fSAqL1xuICAgIGNvbnN0IGhlYWRlclN0eWxlID0ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgIHpJbmRleDogOSxcbiAgICAgIGhlaWdodDogMTAwLFxuICAgICAgcGFkZGluZ1JpZ2h0OiAzMCxcbiAgICAgIHBhZGRpbmdMZWZ0OiAzMCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCJcbiAgICB9XG5cbiAgICBjb25zdCBoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj59ICovICh7fSlcbiAgICBjb25zdCBoZWFkZXJBY3Rpb25zU3R5bGUgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj59ICovICh7XG4gICAgICBmbGV4RGlyZWN0aW9uOiBtZFVwID8gXCJyb3dcIiA6IFwiY29sdW1uXCIsXG4gICAgICBhbGlnbkl0ZW1zOiBtZFVwID8gXCJmbGV4LXN0YXJ0XCIgOiBcInN0cmV0Y2hcIixcbiAgICAgIGdhcDogbWRVcCA/IDggOiAwXG4gICAgfSlcblxuICAgIGlmIChicmVha3BvaW50ID09IFwieHNcIiB8fCBicmVha3BvaW50ID09IFwic21cIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCJcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCIxMDAlXCJcblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUsIHtcbiAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG5cbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInJnYmEoMCwgMCwgMCwgMC44KVwiXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlKSB7XG4gICAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5kaXNwbGF5ID0gXCJub25lXCJcbiAgICAgIH1cblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zU3R5bGUsIHtcbiAgICAgICAgbWluV2lkdGg6IFwiODB2d1wiLFxuICAgICAgICBtYXhXaWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCA9PSBcIm1kXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiXG4gICAgICBoZWFkZXJTdHlsZS5sZWZ0ID0gMjUwXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiY2FsYygxMDAlIC0gMjUwcHgpXCJcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQgPT0gXCJsZ1wiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4bFwiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4eGxcIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCJcbiAgICAgIGhlYWRlclN0eWxlLmxlZnQgPSAyOTBcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCJjYWxjKDEwMCUgLSAyOTBweClcIlxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwibWRcIiB8fCBicmVha3BvaW50ID09IFwibGdcIiB8fCBicmVha3BvaW50ID09IFwieGxcIiB8fCBicmVha3BvaW50ID09IFwieHhsXCIpIHtcbiAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5tYXJnaW5MZWZ0ID0gXCJhdXRvXCJcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXQtLWhlYWRlclwifSl9IHN0eWxlPXtoZWFkZXJTdHlsZX0+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItdGl0bGUtY29udGFpbmVyXCJ9KX0+XG4gICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVRleHRTdHlsZVwiLCB7Y29sb3I6IFwiIzI4MmEzM1wiLCBmb250U2l6ZTogMjJ9KX0+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ZpZXc+XG4gICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BoZWFkZXJBY3Rpb25zQ29udGFpbmVyLSR7dGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmV9YF0gfHw9IHtcbiAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSxcbiAgICAgICAgICAgICAgY2xhc3M6IFwiaGVhZGVyLWFjdGlvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzdHlsZT17aGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJBY3Rpb25zVmlld0RhdGFTZXRcIiwge2NsYXNzOiBcImhlYWRlci1hY3Rpb25zXCJ9KX1cbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnR0LmhlYWRlckFjdGlvbnNSZWZ9XG4gICAgICAgICAgICAgIHN0eWxlPXtoZWFkZXJBY3Rpb25zU3R5bGV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHthY3Rpb25zfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgICB7IW1kVXAgJiZcbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImJ1cmdlck1lbnVDb250YWluZXJEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1jb250YWluZXJcIn0pfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJidXJnZXJNZW51Q29udGFpbmVyU3R5bGVcIiwge1xuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnMgJiZcbiAgICAgICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJhY3Rpb25zTGlua0RhdGFTZXRcIiwge2NsYXNzOiBcImFjdGlvbnMtbGlua1wifSl9XG4gICAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkdlYXJzQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImFjdGlvbnNMaW5rU3R5bGVcIiwge21hcmdpblJpZ2h0OiA4LCBmb250U2l6ZTogMjJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJnZWFyXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPFByZXNzYWJsZSBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiYnVyZ2VyTWVudUxpbmtEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1saW5rXCJ9KX0gb25QcmVzcz17b25UcmlnZ2VyTWVudX0+XG4gICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJiYXJzXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkdlYXJzQ2xpY2tlZCA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe2hlYWRlckFjdGlvbnNBY3RpdmU6ICF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZX0pXG5cbiAgb25XaW5kb3dNb3VzZVVwID0gKGUpID0+IHtcbiAgICAvLyBDbG9zZSB0aGUgaGVhZGVyIGFjdGlvbnMgbWVudSBpZiBjbGlja2VkIGhhcHBlbmVkIG91dHNpZGVcbiAgICBpZiAodGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUgJiYgdGhpcy50dC5oZWFkZXJBY3Rpb25zUmVmLmN1cnJlbnQgJiYgIXRoaXMudHQuaGVhZGVyQWN0aW9uc1JlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aGVhZGVyQWN0aW9uc0FjdGl2ZTogZmFsc2V9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9oZWFkZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osMkRBQTJEO0FBQzNELE9BQU8sS0FBSyxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNoRCxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUM1QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxnQkFBZ0IsTUFBTSx1QkFBdUIsQ0FBQTtBQUVwRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUE7QUFFbkIsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsRUFBRTtJQUM3QyxNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsYUFBYSxFQUFFLENBQUE7SUFFOUIsT0FBTyxXQUFXLENBQUMsQ0FBQyxFQUFDLFlBQVksR0FBRyxDQUFDLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRTtRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJO1lBQ2YsQ0FBQyxDQUFDO2dCQUNFLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixlQUFlLEVBQUUsQ0FBQztnQkFDbEIsaUJBQWlCLEVBQUUsRUFBRTtnQkFDckIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsV0FBVyxF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QUMzSCxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIGluZGVudCwgbm8tcmV0dXJuLWFzc2lnbiwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2ljb25cIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlRXZlbnRMaXN0ZW5lciBmcm9tIFwieWEtdXNlLWV2ZW50LWxpc3RlbmVyXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG4vLyBIb29rIGZvciBjb25zaXN0ZW50IGFjdGlvbiBidXR0b24gc3R5bGluZyBhY3Jvc3MgYnJlYWtwb2ludHNcbmV4cG9ydCBjb25zdCB1c2VIZWFkZXJBY3Rpb25CdXR0b25TdHlsZSA9ICgpID0+IHtcbiAgY29uc3Qge21kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKCh7c3RhY2tlZEluZGV4ID0gMH0gPSB7fSkgPT4ge1xuICAgIGNvbnN0IGJhc2UgPSBtZFVwXG4gICAgICA/IHtcbiAgICAgICAgICBhbGlnblNlbGY6IFwiZmxleC1zdGFydFwiLFxuICAgICAgICAgIHBhZGRpbmdWZXJ0aWNhbDogNyxcbiAgICAgICAgICBwYWRkaW5nSG9yaXpvbnRhbDogMTAsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IFwiI2NiZDVlMVwiLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiA0LFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogNCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgZm9udFNpemU6IDEzXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGFsaWduU2VsZjogXCJzdHJldGNoXCIsXG4gICAgICAgICAgcGFkZGluZzogMTFcbiAgICAgICAgfVxuXG4gICAgaWYgKCFtZFVwICYmIHN0YWNrZWRJbmRleCA+IDApIHtcbiAgICAgIGJhc2UuYm9yZGVyVG9wV2lkdGggPSAxXG4gICAgICBiYXNlLmJvcmRlclRvcENvbG9yID0gXCIjYzljOWM5XCJcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZVxuICB9LCBbbWRVcF0pXG59XG5cbi8qKiBAdHlwZWRlZiB7UmVjb3JkPHN0cmluZywgbmV2ZXI+fSBQcm9wcyAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBoZWFkZXJBY3Rpb25zQWN0aXZlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0SGVhZGVyIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3QoeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5ldy1jYXBcbiAgICBhY3Rpb25zOiBQcm9wVHlwZXMubm9kZSxcbiAgICBvblRyaWdnZXJNZW51OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG5cbiAgc3RhdGUgPSB7XG4gICAgaGVhZGVyQWN0aW9uc0FjdGl2ZTogZmFsc2VcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtuYW1lOiBicmVha3BvaW50LCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zUmVmID0gdXNlUmVmKHVuZGVmaW5lZClcbiAgICB0aGlzLmJyZWFrcG9pbnQgPSBicmVha3BvaW50XG4gICAgdGhpcy5tZFVwID0gbWRVcFxuXG4gICAgdXNlRXZlbnRMaXN0ZW5lcih3aW5kb3csIFwibW91c2V1cFwiLCB0aGlzLnR0Lm9uV2luZG93TW91c2VVcClcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7YnJlYWtwb2ludCwgbWRVcH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2FjdGlvbnMsIG9uVHJpZ2dlck1lbnUsIHRpdGxlfSA9IHRoaXMucHJvcHNcblxuICAgIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPn0gKi9cbiAgICBjb25zdCBoZWFkZXJTdHlsZSA9IHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICB6SW5kZXg6IDksXG4gICAgICBoZWlnaHQ6IDEwMCxcbiAgICAgIHBhZGRpbmdSaWdodDogMzAsXG4gICAgICBwYWRkaW5nTGVmdDogMzAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiXG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlID0gLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+fSAqLyAoe30pXG4gICAgY29uc3QgaGVhZGVyQWN0aW9uc1N0eWxlID0gLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+fSAqLyAoe1xuICAgICAgZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwiLFxuICAgICAgYWxpZ25JdGVtczogbWRVcCA/IFwiZmxleC1zdGFydFwiIDogXCJzdHJldGNoXCIsXG4gICAgICBnYXA6IG1kVXAgPyA4IDogMFxuICAgIH0pXG5cbiAgICBpZiAoYnJlYWtwb2ludCA9PSBcInhzXCIgfHwgYnJlYWtwb2ludCA9PSBcInNtXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJhYnNvbHV0ZVwiXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiMTAwJVwiXG5cbiAgICAgIE9iamVjdC5hc3NpZ24oaGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlLCB7XG4gICAgICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgICAgIHRvcDogMCxcbiAgICAgICAgbGVmdDogMCxcblxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgd2lkdGg6IFwiMTAwdndcIixcbiAgICAgICAgaGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJyZ2JhKDAsIDAsIDAsIDAuOClcIlxuICAgICAgfSlcblxuICAgICAgaWYgKCF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSkge1xuICAgICAgICBoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUuZGlzcGxheSA9IFwibm9uZVwiXG4gICAgICB9XG5cbiAgICAgIE9iamVjdC5hc3NpZ24oaGVhZGVyQWN0aW9uc1N0eWxlLCB7XG4gICAgICAgIG1pbldpZHRoOiBcIjgwdndcIixcbiAgICAgICAgbWF4V2lkdGg6IFwiMTAwdndcIixcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIlxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQgPT0gXCJtZFwiKSB7XG4gICAgICBoZWFkZXJTdHlsZS5wb3NpdGlvbiA9IFwiZml4ZWRcIlxuICAgICAgaGVhZGVyU3R5bGUubGVmdCA9IDI1MFxuICAgICAgaGVhZGVyU3R5bGUud2lkdGggPSBcImNhbGMoMTAwJSAtIDI1MHB4KVwiXG4gICAgfSBlbHNlIGlmIChicmVha3BvaW50ID09IFwibGdcIiB8fCBicmVha3BvaW50ID09IFwieGxcIiB8fCBicmVha3BvaW50ID09IFwieHhsXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiXG4gICAgICBoZWFkZXJTdHlsZS5sZWZ0ID0gMjkwXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiY2FsYygxMDAlIC0gMjkwcHgpXCJcbiAgICB9XG5cbiAgICBpZiAoYnJlYWtwb2ludCA9PSBcIm1kXCIgfHwgYnJlYWtwb2ludCA9PSBcImxnXCIgfHwgYnJlYWtwb2ludCA9PSBcInhsXCIgfHwgYnJlYWtwb2ludCA9PSBcInh4bFwiKSB7XG4gICAgICBoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUubWFyZ2luTGVmdCA9IFwiYXV0b1wiXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJyb290Vmlld0RhdGFTZXRcIiwge2NvbXBvbmVudDogXCJzdXBlci1hZG1pbi0tbGF5b3V0LS1oZWFkZXJcIn0pfSBzdHlsZT17aGVhZGVyU3R5bGV9PlxuICAgICAgICA8VmlldyBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiaGVhZGVyVGl0bGVWaWV3RGF0YVNldFwiLCB7Y2xhc3M6IFwiaGVhZGVyLXRpdGxlLWNvbnRhaW5lclwifSl9PlxuICAgICAgICAgIDxUZXh0IHN0eWxlPXt0aGlzLmNhY2hlKFwiaGVhZGVyVGl0bGVUZXh0U3R5bGVcIiwge2NvbG9yOiBcIiMyODJhMzNcIiwgZm9udFNpemU6IDIyfSl9PlxuICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9WaWV3PlxuICAgICAgICB7YWN0aW9ucyAmJlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0c1tgaGVhZGVyQWN0aW9uc0NvbnRhaW5lci0ke3RoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlfWBdIHx8PSB7XG4gICAgICAgICAgICAgIGFjdGl2ZTogdGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUsXG4gICAgICAgICAgICAgIGNsYXNzOiBcImhlYWRlci1hY3Rpb25zLWNvbnRhaW5lclwiXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgc3R5bGU9e2hlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiaGVhZGVyQWN0aW9uc1ZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItYWN0aW9uc1wifSl9XG4gICAgICAgICAgICAgIHJlZj17dGhpcy50dC5oZWFkZXJBY3Rpb25zUmVmfVxuICAgICAgICAgICAgICBzdHlsZT17aGVhZGVyQWN0aW9uc1N0eWxlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7YWN0aW9uc31cbiAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgICAgeyFtZFVwICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJidXJnZXJNZW51Q29udGFpbmVyRGF0YVNldFwiLCB7Y2xhc3M6IFwiYnVyZ2VyLW1lbnUtY29udGFpbmVyXCJ9KX1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwiYnVyZ2VyTWVudUNvbnRhaW5lclN0eWxlXCIsIHtcbiAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgICAgICAgICAgbWFyZ2luTGVmdDogXCJhdXRvXCJcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiYWN0aW9uc0xpbmtEYXRhU2V0XCIsIHtjbGFzczogXCJhY3Rpb25zLWxpbmtcIn0pfVxuICAgICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25HZWFyc0NsaWNrZWR9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJhY3Rpb25zTGlua1N0eWxlXCIsIHttYXJnaW5SaWdodDogOCwgZm9udFNpemU6IDIyfSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiZ2VhclwiIHNpemU9ezIwfSAvPlxuICAgICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxQcmVzc2FibGUgZGF0YVNldD17dGhpcy5jYWNoZShcImJ1cmdlck1lbnVMaW5rRGF0YVNldFwiLCB7Y2xhc3M6IFwiYnVyZ2VyLW1lbnUtbGlua1wifSl9IG9uUHJlc3M9e29uVHJpZ2dlck1lbnV9PlxuICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYmFyc1wiIHNpemU9ezIwfSAvPlxuICAgICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICB9XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25HZWFyc0NsaWNrZWQgPSAoKSA9PiB7XG4gICAgdGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUgPSAhdGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmVcbiAgfVxuXG4gIG9uV2luZG93TW91c2VVcCA9IChlKSA9PiB7XG4gICAgLy8gQ2xvc2UgdGhlIGhlYWRlciBhY3Rpb25zIG1lbnUgaWYgY2xpY2tlZCBoYXBwZW5lZCBvdXRzaWRlXG4gICAgaWYgKHRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlICYmIHRoaXMudHQuaGVhZGVyQWN0aW9uc1JlZi5jdXJyZW50ICYmICF0aGlzLnR0LmhlYWRlckFjdGlvbnNSZWYuY3VycmVudC5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgIHRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlID0gZmFsc2VcbiAgICB9XG4gIH1cbn0pKVxuIl19
@@ -137,10 +137,12 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
137
137
  _jsx(Text, { style: styles.mb15, children: t(".try_signing_out_and_in_with_a_different_user", { defaultValue: "Try signing in with a different user." }) }), !currentUser &&
138
138
  _jsxs(_Fragment, { children: [_jsx(Text, { style: styles.mb15, children: t(".try_signing_in", { defaultValue: "Try signing in." }) }), config.signInContent()] })] }), !noAccess && children] })] }));
139
139
  }
140
- onRequestMenuClose = () => this.setState({ menuTriggered: false });
140
+ onRequestMenuClose = () => {
141
+ this.s.menuTriggered = false;
142
+ };
141
143
  onTriggerMenu = (e) => {
142
144
  e.preventDefault();
143
- this.setState({ menuTriggered: !this.s.menuTriggered });
145
+ this.s.menuTriggered = !this.s.menuTriggered;
144
146
  };
145
147
  }));
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWix1RkFBdUY7QUFDdkYsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLFlBQVksTUFBTSx3QkFBd0IsQ0FBQTtBQUNqRCwyQ0FBMkM7QUFDM0MsT0FBTyxNQUFNLE1BQU0sb0JBQW9CLENBQUEsQ0FBQywyQ0FBMkM7QUFDbkYsT0FBTyxNQUFNLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxJQUFJLE1BQU0sY0FBYyxDQUFBO0FBQy9CLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLGNBQWMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLE9BQU8sTUFBTSx3Q0FBd0MsQ0FBQTtBQUU1RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO0FBRXhEOzs7Ozs7Ozs7OztHQVdHO0FBRUgsMkJBQTJCO0FBQzNCLE1BQU0sTUFBTSxHQUFHO0lBQ2IseUJBQXlCLEVBQUU7UUFDekIsSUFBSSxFQUFFO1lBQ0osU0FBUyxFQUFFLE9BQU87WUFDbEIsZUFBZSxFQUFFLFNBQVM7U0FDM0I7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cm4tYXNzaWduLCByZWFjdC9qc3gtY2xvc2luZy1icmFja2V0LWxvY2F0aW9uLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1ZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IENvbW1hbmRzUG9vbCBmcm9tIFwiLi4vLi4vY29tbWFuZHMtcG9vbC5qc1wiXG4vLyBAdHMtZXhwZWN0LWVycm9yIFJ1bnRpbWUtcmVzb2x2ZWQgbW9kdWxlXG5pbXBvcnQgY29uZmlnIGZyb20gXCJzdXBlci1hZG1pbi9jb25maWdcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby11bnJlc29sdmVkXG5pbXBvcnQgSGVhZGVyIGZyb20gXCIuL2hlYWRlci9pbmRleFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgTWVudSBmcm9tIFwiLi9tZW51L2luZGV4XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi91dGlscy90ZXh0XCJcbmltcG9ydCB7dXNlQnJlYWtwb2ludH0gZnJvbSBcInJlc3BvbnNpdmUtYnJlYWtwb2ludHNcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuLi8uLi91c2UtY3VycmVudC11c2VyLmpzXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL2J1aWxkL3NyYy91c2UtaTE4bi5qc1wiXG5cbmNvbnN0IE5vQWNjZXNzID0gUmVhY3QubGF6eSgoKSA9PiBpbXBvcnQoXCIuL25vLWFjY2Vzc1wiKSlcblxuLyoqXG4gKiBAdHlwZWRlZiB7e1xuICogICBhcHBMYXlvdXRDb250ZW50Q29udGFpbmVyOiB7XG4gKiAgICAgYmFzZTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPixcbiAqICAgICBtZERvd246IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4sXG4gKiAgICAgbWRVcDogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPixcbiAqICAgICBsZ1VwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+XG4gKiAgIH0sXG4gKiAgIG1iMTU6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4sXG4gKiAgIHJvb3RWaWV3OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+XG4gKiB9fSBMYXlvdXRTdHlsZXNcbiAqL1xuXG4vKiogQHR5cGUge0xheW91dFN0eWxlc30gKi9cbmNvbnN0IHN0eWxlcyA9IHtcbiAgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lcjoge1xuICAgIGJhc2U6IHtcbiAgICAgIG1pbkhlaWdodDogXCIxMDB2aFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmN2Y3ZjdcIlxuICAgIH0sXG4gICAgbWREb3duOiB7XG4gICAgICBwYWRkaW5nVG9wOiAxMzAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0JvdHRvbTogMzBcbiAgICB9LFxuICAgIG1kVXA6IHtcbiAgICAgIHBhZGRpbmdUb3A6IDEzMCxcbiAgICAgIHBhZGRpbmdSaWdodDogMzAsXG4gICAgICBwYWRkaW5nQm90dG9tOiAzMCxcbiAgICAgIHBhZGRpbmdMZWZ0OiAyODBcbiAgICB9LFxuICAgIGxnVXA6IHtcbiAgICAgIHBhZGRpbmdUb3A6IDEzMCxcbiAgICAgIHBhZGRpbmdSaWdodDogMzAsXG4gICAgICBwYWRkaW5nQm90dG9tOiAzMCxcbiAgICAgIHBhZGRpbmdMZWZ0OiAzMjBcbiAgICB9XG4gIH0sXG4gIG1iMTU6IHtcbiAgICBtYXJnaW5Cb3R0b206IDE1XG4gIH0sXG4gIHJvb3RWaWV3OiB7XG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIG1pbkhlaWdodDogXCIxMDB2aFwiLFxuICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCIsXG4gICAgY29sb3I6IFwiIzAwMFwiXG4gIH1cbn1cblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFByb3BzXG4gKiBAcHJvcGVydHkge1JlYWN0LlJlYWN0Tm9kZX0gW2FjdGlvbnNdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2FjdGl2ZV1cbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbY2hpbGRyZW5dXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NsYXNzTmFtZV1cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbY3VycmVudEN1c3RvbWVyXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjdXJyZW50Q3VzdG9tZXJJZF1cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbY3VycmVudFVzZXJdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2hlYWRUaXRsZV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaGVhZGVyVGl0bGVdXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gbWVudVRyaWdnZXJlZFxuICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KC8qKiBAYXVnbWVudHMge1NoYXBlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT59ICovIGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pbkxheW91dCBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuZXctY2FwXG4gICAgYWN0aW9uczogUHJvcFR5cGVzLmFueSxcbiAgICBhY3RpdmU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbnRDdXN0b21lcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjdXJyZW50Q3VzdG9tZXJJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW50VXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoZWFkVGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGVhZGVyVGl0bGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSlcblxuICBzdGF0ZSA9IHtcbiAgICBtZW51VHJpZ2dlcmVkOiBmYWxzZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB1c2VDdXJyZW50VXNlcigpXG4gICAgY29uc3Qge2xvY2FsZSwgdH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnN1cGVyX2FkbWluLmxheW91dFwifSlcbiAgICBjb25zdCB7bGdVcCwgbWRVcCwgbWREb3dufSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gICAgdGhpcy5jdXJyZW50VXNlciA9IGN1cnJlbnRVc2VyXG4gICAgdGhpcy5sZ1VwID0gbGdVcFxuICAgIHRoaXMubWRVcCA9IG1kVXBcbiAgICB0aGlzLm1kRG93biA9IG1kRG93blxuICAgIHRoaXMudCA9IHRcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgQ29tbWFuZHNQb29sLmN1cnJlbnQoKS5nbG9iYWxSZXF1ZXN0RGF0YS5sYXlvdXQgPSBcImFkbWluXCJcbiAgICAgIENvbW1hbmRzUG9vbC5jdXJyZW50KCkuZ2xvYmFsUmVxdWVzdERhdGEubG9jYWxlID0gbG9jYWxlXG4gICAgfSwgW2xvY2FsZV0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2N1cnJlbnRVc2VyLCBsZ1VwLCBtZFVwLCBtZERvd24sIHR9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtcbiAgICAgIGFjdGlvbnMsXG4gICAgICBhY3RpdmUsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGN1cnJlbnRDdXN0b21lcixcbiAgICAgIGN1cnJlbnRDdXN0b21lcklkLFxuICAgICAgaGVhZFRpdGxlLFxuICAgICAgaGVhZGVyVGl0bGUsXG4gICAgICBtZW51LFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBhY3R1YWxIZWFkVGl0bGUgPSBoZWFkVGl0bGUgfHwgaGVhZGVyVGl0bGVcblxuICAgIGlmIChhY3R1YWxIZWFkVGl0bGUpIHtcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gYWN0dWFsSGVhZFRpdGxlXG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gXCJTdXBlciBBZG1pblwiXG4gICAgfVxuXG4gICAgY29uc3Qgbm9BY2Nlc3MgPSAhY3VycmVudFVzZXJcbiAgICBjb25zdCBhcHBMYXlvdXRDb250ZW50Q29udGFpbmVyU3R5bGVzID0gW3N0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLmJhc2VdXG5cbiAgICBpZiAobWREb3duKSBhcHBMYXlvdXRDb250ZW50Q29udGFpbmVyU3R5bGVzLnB1c2goc3R5bGVzLmFwcExheW91dENvbnRlbnRDb250YWluZXIubWREb3duKVxuICAgIGlmIChtZFVwKSBhcHBMYXlvdXRDb250ZW50Q29udGFpbmVyU3R5bGVzLnB1c2goc3R5bGVzLmFwcExheW91dENvbnRlbnRDb250YWluZXIubWRVcClcbiAgICBpZiAobGdVcCkgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcy5wdXNoKHN0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLmxnVXApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdcbiAgICAgICAgZGF0YVNldD17ZGF0YVNldHNbYHJvb3QtJHtjbGFzc05hbWV9LSR7dGhpcy5zLm1lbnVUcmlnZ2VyZWR9YF0gfHw9IHtcbiAgICAgICAgICBjb21wb25lbnQ6IFwic3VwZXItYWRtaW4tLWxheW91dFwiLFxuICAgICAgICAgIGNsYXNzOiBjbGFzc05hbWUsXG4gICAgICAgICAgbWVudVRyaWdnZXJlZDogdGhpcy5zLm1lbnVUcmlnZ2VyZWRcbiAgICAgICAgfX1cbiAgICAgICAgc3R5bGU9e3N0eWxlcy5yb290Vmlld31cbiAgICAgICAgey4uLnJlc3RQcm9wc30+XG4gICAgICAgIDxNZW51XG4gICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgbm9BY2Nlc3M9e25vQWNjZXNzfVxuICAgICAgICAgIG9uUmVxdWVzdE1lbnVDbG9zZT17dGhpcy50dC5vblJlcXVlc3RNZW51Q2xvc2V9XG4gICAgICAgICAgdHJpZ2dlcmVkPXt0aGlzLnMubWVudVRyaWdnZXJlZH1cbiAgICAgICAgLz5cbiAgICAgICAgPEhlYWRlciBhY3Rpb25zPXthY3Rpb25zfSBvblRyaWdnZXJNZW51PXt0aGlzLnR0Lm9uVHJpZ2dlck1lbnV9IHRpdGxlPXtoZWFkZXJUaXRsZX0gLz5cbiAgICAgICAgPFZpZXcgZGF0YVNldD17ZGF0YVNldHMuYXBwTGF5b3V0Q29udGVudENvbnRhaW5lciB8fD0ge2NsYXNzOiBcImFwcC1sYXlvdXQtY29udGVudC1jb250YWluZXJcIn19IHN0eWxlPXthcHBMYXlvdXRDb250ZW50Q29udGFpbmVyU3R5bGVzfT5cbiAgICAgICAgICB7bm9BY2Nlc3MgJiZcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxOb0FjY2VzcyAvPlxuICAgICAgICAgICAgICB7Y3VycmVudFVzZXIgJiZcbiAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLm1iMTV9PlxuICAgICAgICAgICAgICAgICAge3QoXCIudHJ5X3NpZ25pbmdfb3V0X2FuZF9pbl93aXRoX2FfZGlmZmVyZW50X3VzZXJcIiwge2RlZmF1bHRWYWx1ZTogXCJUcnkgc2lnbmluZyBpbiB3aXRoIGEgZGlmZmVyZW50IHVzZXIuXCJ9KX1cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgeyFjdXJyZW50VXNlciAmJlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLm1iMTV9PlxuICAgICAgICAgICAgICAgICAgICB7dChcIi50cnlfc2lnbmluZ19pblwiLCB7ZGVmYXVsdFZhbHVlOiBcIlRyeSBzaWduaW5nIGluLlwifSl9XG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICB7Y29uZmlnLnNpZ25JbkNvbnRlbnQoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIHshbm9BY2Nlc3MgJiYgY2hpbGRyZW59XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvblJlcXVlc3RNZW51Q2xvc2UgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHttZW51VHJpZ2dlcmVkOiBmYWxzZX0pXG4gIG9uVHJpZ2dlck1lbnUgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHRoaXMuc2V0U3RhdGUoe21lbnVUcmlnZ2VyZWQ6ICF0aGlzLnMubWVudVRyaWdnZXJlZH0pXG4gIH1cbn0pKVxuIl19
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWix1RkFBdUY7QUFDdkYsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLFlBQVksTUFBTSx3QkFBd0IsQ0FBQTtBQUNqRCwyQ0FBMkM7QUFDM0MsT0FBTyxNQUFNLE1BQU0sb0JBQW9CLENBQUEsQ0FBQywyQ0FBMkM7QUFDbkYsT0FBTyxNQUFNLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxJQUFJLE1BQU0sY0FBYyxDQUFBO0FBQy9CLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLGNBQWMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLE9BQU8sTUFBTSx3Q0FBd0MsQ0FBQTtBQUU1RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO0FBRXhEOzs7Ozs7Ozs7OztHQVdHO0FBRUgsMkJBQTJCO0FBQzNCLE1BQU0sTUFBTSxHQUFHO0lBQ2IseUJBQXlCLEVBQUU7UUFDekIsSUFBSSxFQUFFO1lBQ0osU0FBUyxFQUFFLE9BQU87WUFDbEIsZUFBZSxFQUFFLFNBQVM7U0FDM0I7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QU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxXQUFXLEdBQUksRUFDdEYsTUFBQyxJQUFJLElBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyx5QkFBeUIsS0FBSyxFQUFDLEtBQUssRUFBRSw4QkFBOEIsRUFBQyxFQUFFLEtBQUssRUFBRSwrQkFBK0IsYUFDbEksUUFBUTs0QkFDUCw4QkFDRSxLQUFDLFFBQVEsS0FBRyxFQUNYLFdBQVc7d0NBQ1YsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLFlBQ3JCLENBQUMsQ0FBQywrQ0FBK0MsRUFBRSxFQUFDLFlBQVksRUFBRSx1Q0FBdUMsRUFBQyxDQUFDLEdBQ3ZHLEVBRVIsQ0FBQyxXQUFXO3dDQUNYLDhCQUNFLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxZQUNyQixDQUFDLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxHQUNuRCxFQUNOLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFDdEIsSUFFSixFQUVKLENBQUMsUUFBUSxJQUFJLFFBQVEsSUFDakIsSUFDRixDQUNSLENBQUE7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLEdBQUcsR0FBRyxFQUFFO1FBQ3hCLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQTtJQUM5QixDQUFDLENBQUE7SUFDRCxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQTtJQUM5QyxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgbm8tcmV0dXJuLWFzc2lnbiwgcmVhY3QvanN4LWNsb3NpbmctYnJhY2tldC1sb2NhdGlvbiwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBDb21tYW5kc1Bvb2wgZnJvbSBcIi4uLy4uL2NvbW1hbmRzLXBvb2wuanNcIlxuLy8gQHRzLWV4cGVjdC1lcnJvciBSdW50aW1lLXJlc29sdmVkIG1vZHVsZVxuaW1wb3J0IGNvbmZpZyBmcm9tIFwic3VwZXItYWRtaW4vY29uZmlnXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBpbXBvcnQvbm8tdW5yZXNvbHZlZFxuaW1wb3J0IEhlYWRlciBmcm9tIFwiLi9oZWFkZXIvaW5kZXhcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IE1lbnUgZnJvbSBcIi4vbWVudS9pbmRleFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcbmltcG9ydCB1c2VDdXJyZW50VXNlciBmcm9tIFwiLi4vLi4vdXNlLWN1cnJlbnQtdXNlci5qc1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9idWlsZC9zcmMvdXNlLWkxOG4uanNcIlxuXG5jb25zdCBOb0FjY2VzcyA9IFJlYWN0LmxhenkoKCkgPT4gaW1wb3J0KFwiLi9uby1hY2Nlc3NcIikpXG5cbi8qKlxuICogQHR5cGVkZWYge3tcbiAqICAgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lcjoge1xuICogICAgIGJhc2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4sXG4gKiAgICAgbWREb3duOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+LFxuICogICAgIG1kVXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4sXG4gKiAgICAgbGdVcDogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPlxuICogICB9LFxuICogICBtYjE1OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+LFxuICogICByb290VmlldzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPlxuICogfX0gTGF5b3V0U3R5bGVzXG4gKi9cblxuLyoqIEB0eXBlIHtMYXlvdXRTdHlsZXN9ICovXG5jb25zdCBzdHlsZXMgPSB7XG4gIGFwcExheW91dENvbnRlbnRDb250YWluZXI6IHtcbiAgICBiYXNlOiB7XG4gICAgICBtaW5IZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZjdmN2Y3XCJcbiAgICB9LFxuICAgIG1kRG93bjoge1xuICAgICAgcGFkZGluZ1RvcDogMTMwLFxuICAgICAgcGFkZGluZ1JpZ2h0OiAzMCxcbiAgICAgIHBhZGRpbmdCb3R0b206IDMwXG4gICAgfSxcbiAgICBtZFVwOiB7XG4gICAgICBwYWRkaW5nVG9wOiAxMzAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0JvdHRvbTogMzAsXG4gICAgICBwYWRkaW5nTGVmdDogMjgwXG4gICAgfSxcbiAgICBsZ1VwOiB7XG4gICAgICBwYWRkaW5nVG9wOiAxMzAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0JvdHRvbTogMzAsXG4gICAgICBwYWRkaW5nTGVmdDogMzIwXG4gICAgfVxuICB9LFxuICBtYjE1OiB7XG4gICAgbWFyZ2luQm90dG9tOiAxNVxuICB9LFxuICByb290Vmlldzoge1xuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBtaW5IZWlnaHQ6IFwiMTAwdmhcIixcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgIGNvbG9yOiBcIiMwMDBcIlxuICB9XG59XG5cbmNvbnN0IGRhdGFTZXRzID0ge31cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm9wc1xuICogQHByb3BlcnR5IHtSZWFjdC5SZWFjdE5vZGV9IFthY3Rpb25zXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthY3RpdmVdXG4gKiBAcHJvcGVydHkge1JlYWN0LlJlYWN0Tm9kZX0gW2NoaWxkcmVuXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjbGFzc05hbWVdXG4gKiBAcHJvcGVydHkge29iamVjdH0gW2N1cnJlbnRDdXN0b21lcl1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY3VycmVudEN1c3RvbWVySWRdXG4gKiBAcHJvcGVydHkge29iamVjdH0gW2N1cnJlbnRVc2VyXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtoZWFkVGl0bGVdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2hlYWRlclRpdGxlXVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IG1lbnVUcmlnZ2VyZWRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBBcGlNYWtlclN1cGVyQWRtaW5MYXlvdXQgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgIGFjdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gICAgYWN0aXZlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW50Q3VzdG9tZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY3VycmVudEN1c3RvbWVySWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY3VycmVudFVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGVhZFRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhlYWRlclRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG5cbiAgc3RhdGUgPSB7XG4gICAgbWVudVRyaWdnZXJlZDogZmFsc2VcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuICAgIGNvbnN0IHtsb2NhbGUsIHR9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5zdXBlcl9hZG1pbi5sYXlvdXRcIn0pXG4gICAgY29uc3Qge2xnVXAsIG1kVXAsIG1kRG93bn0gPSB1c2VCcmVha3BvaW50KClcblxuICAgIHRoaXMuY3VycmVudFVzZXIgPSBjdXJyZW50VXNlclxuICAgIHRoaXMubGdVcCA9IGxnVXBcbiAgICB0aGlzLm1kVXAgPSBtZFVwXG4gICAgdGhpcy5tZERvd24gPSBtZERvd25cbiAgICB0aGlzLnQgPSB0XG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIENvbW1hbmRzUG9vbC5jdXJyZW50KCkuZ2xvYmFsUmVxdWVzdERhdGEubGF5b3V0ID0gXCJhZG1pblwiXG4gICAgICBDb21tYW5kc1Bvb2wuY3VycmVudCgpLmdsb2JhbFJlcXVlc3REYXRhLmxvY2FsZSA9IGxvY2FsZVxuICAgIH0sIFtsb2NhbGVdKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjdXJyZW50VXNlciwgbGdVcCwgbWRVcCwgbWREb3duLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7XG4gICAgICBhY3Rpb25zLFxuICAgICAgYWN0aXZlLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjdXJyZW50Q3VzdG9tZXIsXG4gICAgICBjdXJyZW50Q3VzdG9tZXJJZCxcbiAgICAgIGhlYWRUaXRsZSxcbiAgICAgIGhlYWRlclRpdGxlLFxuICAgICAgbWVudSxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgYWN0dWFsSGVhZFRpdGxlID0gaGVhZFRpdGxlIHx8IGhlYWRlclRpdGxlXG5cbiAgICBpZiAoYWN0dWFsSGVhZFRpdGxlKSB7XG4gICAgICBkb2N1bWVudC50aXRsZSA9IGFjdHVhbEhlYWRUaXRsZVxuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC50aXRsZSA9IFwiU3VwZXIgQWRtaW5cIlxuICAgIH1cblxuICAgIGNvbnN0IG5vQWNjZXNzID0gIWN1cnJlbnRVc2VyXG4gICAgY29uc3QgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcyA9IFtzdHlsZXMuYXBwTGF5b3V0Q29udGVudENvbnRhaW5lci5iYXNlXVxuXG4gICAgaWYgKG1kRG93bikgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcy5wdXNoKHN0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLm1kRG93bilcbiAgICBpZiAobWRVcCkgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcy5wdXNoKHN0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLm1kVXApXG4gICAgaWYgKGxnVXApIGFwcExheW91dENvbnRlbnRDb250YWluZXJTdHlsZXMucHVzaChzdHlsZXMuYXBwTGF5b3V0Q29udGVudENvbnRhaW5lci5sZ1VwKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2Byb290LSR7Y2xhc3NOYW1lfS0ke3RoaXMucy5tZW51VHJpZ2dlcmVkfWBdIHx8PSB7XG4gICAgICAgICAgY29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXRcIixcbiAgICAgICAgICBjbGFzczogY2xhc3NOYW1lLFxuICAgICAgICAgIG1lbnVUcmlnZ2VyZWQ6IHRoaXMucy5tZW51VHJpZ2dlcmVkXG4gICAgICAgIH19XG4gICAgICAgIHN0eWxlPXtzdHlsZXMucm9vdFZpZXd9XG4gICAgICAgIHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICA8TWVudVxuICAgICAgICAgIGFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIG5vQWNjZXNzPXtub0FjY2Vzc31cbiAgICAgICAgICBvblJlcXVlc3RNZW51Q2xvc2U9e3RoaXMudHQub25SZXF1ZXN0TWVudUNsb3NlfVxuICAgICAgICAgIHRyaWdnZXJlZD17dGhpcy5zLm1lbnVUcmlnZ2VyZWR9XG4gICAgICAgIC8+XG4gICAgICAgIDxIZWFkZXIgYWN0aW9ucz17YWN0aW9uc30gb25UcmlnZ2VyTWVudT17dGhpcy50dC5vblRyaWdnZXJNZW51fSB0aXRsZT17aGVhZGVyVGl0bGV9IC8+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e2RhdGFTZXRzLmFwcExheW91dENvbnRlbnRDb250YWluZXIgfHw9IHtjbGFzczogXCJhcHAtbGF5b3V0LWNvbnRlbnQtY29udGFpbmVyXCJ9fSBzdHlsZT17YXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlc30+XG4gICAgICAgICAge25vQWNjZXNzICYmXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8Tm9BY2Nlc3MgLz5cbiAgICAgICAgICAgICAge2N1cnJlbnRVc2VyICYmXG4gICAgICAgICAgICAgICAgPFRleHQgc3R5bGU9e3N0eWxlcy5tYjE1fT5cbiAgICAgICAgICAgICAgICAgIHt0KFwiLnRyeV9zaWduaW5nX291dF9hbmRfaW5fd2l0aF9hX2RpZmZlcmVudF91c2VyXCIsIHtkZWZhdWx0VmFsdWU6IFwiVHJ5IHNpZ25pbmcgaW4gd2l0aCBhIGRpZmZlcmVudCB1c2VyLlwifSl9XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHshY3VycmVudFVzZXIgJiZcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPFRleHQgc3R5bGU9e3N0eWxlcy5tYjE1fT5cbiAgICAgICAgICAgICAgICAgICAge3QoXCIudHJ5X3NpZ25pbmdfaW5cIiwge2RlZmF1bHRWYWx1ZTogXCJUcnkgc2lnbmluZyBpbi5cIn0pfVxuICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgICAge2NvbmZpZy5zaWduSW5Db250ZW50KCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIH1cbiAgICAgICAgICB7IW5vQWNjZXNzICYmIGNoaWxkcmVufVxuICAgICAgICA8L1ZpZXc+XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25SZXF1ZXN0TWVudUNsb3NlID0gKCkgPT4ge1xuICAgIHRoaXMucy5tZW51VHJpZ2dlcmVkID0gZmFsc2VcbiAgfVxuICBvblRyaWdnZXJNZW51ID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLnMubWVudVRyaWdnZXJlZCA9ICF0aGlzLnMubWVudVRyaWdnZXJlZFxuICB9XG59KSlcbiJdfQ==
@@ -61,7 +61,11 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
61
61
  identifier
62
62
  }, onPointerEnter: this.tt.onPointerEnter, onPointerLeave: this.tt.onPointerLeave, style: style, to: to || "#", ...restProps, children: [_jsx("i", { className: `fa fa-fw fa-${icon} menu-item-icon`, style: { color: textStyle.color, marginRight: 4, fontSize: 12 } }), children || _jsx(Text, { style: textStyle, children: label })] }));
63
63
  }
64
- onPointerEnter = () => this.setState({ hover: true });
65
- onPointerLeave = () => this.setState({ hover: false });
64
+ onPointerEnter = () => {
65
+ this.s.hover = true;
66
+ };
67
+ onPointerLeave = () => {
68
+ this.s.hover = false;
69
+ };
66
70
  }));
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzdXBlci1hZG1pbi9sYXlvdXQvbWVudS9tZW51LWl0ZW0uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osc0ZBQXNGO0FBQ3RGLE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLDJDQUEyQztBQUMvRSxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBRXRDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQjs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7QUFDSCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsK0NBQStDLENBQUMsTUFBTSxpQ0FBa0MsU0FBUSxjQUFjO0lBQy9JLE1BQU0sQ0FBQyxTQUFTLEdBQUc7UUFDakIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0IsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNqQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUc7S0FDckIsQ0FBQTtJQUNELEtBQUssR0FBRztRQUNOLEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQTtJQUVELEtBQUssS0FBSSxDQUFDO0lBRVYsTUFBTTtRQUNKLE1BQU0sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQzNGLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3RCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUNwQixNQUFNLEtBQUssR0FBRztZQUNaLE9BQU8sRUFBRSxNQUFNO1lBQ2YsS0FBSyxFQUFFLEtBQUs7WUFDWixVQUFVLEVBQUUsUUFBUTtZQUNwQixVQUFVLEVBQUUsRUFBRTtZQUNkLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsVUFBVSxFQUFFLE1BQU07WUFDbEIsV0FBVyxFQUFFLE1BQU07U0FDcEIsQ0FBQTtRQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxJQUFJLFVBQVUsQ0FBQTtRQUV4RCxJQUFJLFFBQVEsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN0QixLQUFLLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQTtZQUM1QixLQUFLLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQTtZQUN0QixTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQTtRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFBO1FBQzdCLENBQUM7UUFFRCxPQUFPLENBQ0wsTUFBQyxJQUFJLElBQ0gsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUFZLFFBQVEsSUFBSSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUMsS0FBSztnQkFDdkUsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLEtBQUssRUFBRSxVQUFVLENBQUMsNENBQTRDLEVBQUUsU0FBUyxDQUFDO2dCQUMxRSxVQUFVO2FBQ1gsRUFDRCxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQ3RDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFDdEMsS0FBSyxFQUFFLEtBQUssRUFDWixFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsS0FDVCxTQUFTLGFBRWIsWUFBRyxTQUFTLEVBQUUsZUFBZSxJQUFJLGlCQUFpQixFQUFFLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQyxHQUFJLEVBQ3BILFFBQVEsSUFBSSxLQUFDLElBQUksSUFBQyxLQUFLLEVBQUUsU0FBUyxZQUFHLEtBQUssR0FBUSxJQUM5QyxDQUNSLENBQUE7SUFDSCxDQUFDO0lBRUQsY0FBYyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUNuRCxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO0NBQ3JELENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXR1cm4tYXNzaWduLCByZWFjdC9qc3gtb25lLWV4cHJlc3Npb24tcGVyLWxpbmUsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby11bnJlc29sdmVkXG5pbXBvcnQgTGluayBmcm9tIFwiLi4vLi4vLi4vbGlua1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RleHRcIlxuXG5jb25zdCBkYXRhU2V0cyA9IHt9XG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbnxzdHJpbmd9IFthY3RpdmVdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NsYXNzTmFtZV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpY29uXG4gKiBAcHJvcGVydHkge1JlYWN0LlJlYWN0Tm9kZX0gW2xhYmVsXVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGhvdmVyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQ29tcG9uZW50c0FkbWluTGF5b3V0TWVudU1lbnVJdGVtIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGFjdGl2ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmJvb2wsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaWNvbjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuYW55XG4gIH1cbiAgc3RhdGUgPSB7XG4gICAgaG92ZXI6IGZhbHNlXG4gIH1cblxuICBzZXR1cCgpIHt9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHthY3RpdmUsIGNoaWxkcmVuLCBjbGFzc05hbWUsIGljb24sIGlkZW50aWZpZXIsIGxhYmVsLCB0bywgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7aG92ZXJ9ID0gdGhpcy5zXG4gICAgY29uc3QgdGV4dFN0eWxlID0ge31cbiAgICBjb25zdCBzdHlsZSA9IHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgd2lkdGg6IFwiODAlXCIsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgcGFkZGluZ1RvcDogMTAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDE0LFxuICAgICAgcGFkZGluZ0JvdHRvbTogMTAsXG4gICAgICBwYWRkaW5nTGVmdDogMTQsXG4gICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIixcbiAgICAgIG1hcmdpblJpZ2h0OiBcImF1dG9cIlxuICAgIH1cbiAgICBjb25zdCBpc0FjdGl2ZSA9IGFjdGl2ZSA9PT0gdHJ1ZSB8fCBhY3RpdmUgPT0gaWRlbnRpZmllclxuXG4gICAgaWYgKGlzQWN0aXZlIHx8IGhvdmVyKSB7XG4gICAgICBzdHlsZS5iYWNrZ3JvdW5kID0gXCIjMzIzNDM1XCJcbiAgICAgIHN0eWxlLmJvcmRlclJhZGl1cyA9IDdcbiAgICAgIHRleHRTdHlsZS5jb2xvciA9IFwiI2I5YjliYlwiXG4gICAgfSBlbHNlIHtcbiAgICAgIHRleHRTdHlsZS5jb2xvciA9IFwiIzZmNmY3MVwiXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMaW5rXG4gICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BtZW51SXRlbS0ke2lzQWN0aXZlfS0ke2NsYXNzTmFtZX0tJHtpZGVudGlmaWVyfWBdIHx8PSB7XG4gICAgICAgICAgYWN0aXZlOiBpc0FjdGl2ZSxcbiAgICAgICAgICBjbGFzczogY2xhc3NOYW1lcyhcImNvbXBvbmVudHMtLWFkbWluLS1sYXlvdXQtLW1lbnUtLW1lbnUtaXRlbVwiLCBjbGFzc05hbWUpLFxuICAgICAgICAgIGlkZW50aWZpZXJcbiAgICAgICAgfX1cbiAgICAgICAgb25Qb2ludGVyRW50ZXI9e3RoaXMudHQub25Qb2ludGVyRW50ZXJ9XG4gICAgICAgIG9uUG9pbnRlckxlYXZlPXt0aGlzLnR0Lm9uUG9pbnRlckxlYXZlfVxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgIHRvPXt0byB8fCBcIiNcIn1cbiAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3NOYW1lPXtgZmEgZmEtZncgZmEtJHtpY29ufSBtZW51LWl0ZW0taWNvbmB9IHN0eWxlPXt7Y29sb3I6IHRleHRTdHlsZS5jb2xvciwgbWFyZ2luUmlnaHQ6IDQsIGZvbnRTaXplOiAxMn19IC8+XG4gICAgICAgIHtjaGlsZHJlbiB8fCA8VGV4dCBzdHlsZT17dGV4dFN0eWxlfT57bGFiZWx9PC9UZXh0Pn1cbiAgICAgIDwvTGluaz5cbiAgICApXG4gIH1cblxuICBvblBvaW50ZXJFbnRlciA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe2hvdmVyOiB0cnVlfSlcbiAgb25Qb2ludGVyTGVhdmUgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHtob3ZlcjogZmFsc2V9KVxufSkpXG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzdXBlci1hZG1pbi9sYXlvdXQvbWVudS9tZW51LWl0ZW0uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osc0ZBQXNGO0FBQ3RGLE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLDJDQUEyQztBQUMvRSxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBRXRDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQjs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7QUFDSCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsK0NBQStDLENBQUMsTUFBTSxpQ0FBa0MsU0FBUSxjQUFjO0lBQy9JLE1BQU0sQ0FBQyxTQUFTLEdBQUc7UUFDakIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0IsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNqQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUc7S0FDckIsQ0FBQTtJQUNELEtBQUssR0FBRztRQUNOLEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQTtJQUVELEtBQUssS0FBSSxDQUFDO0lBRVYsTUFBTTtRQUNKLE1BQU0sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQzNGLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3RCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUNwQixNQUFNLEtBQUssR0FBRztZQUNaLE9BQU8sRUFBRSxNQUFNO1lBQ2YsS0FBSyxFQUFFLEtBQUs7WUFDWixVQUFVLEVBQUUsUUFBUTtZQUNwQixVQUFVLEVBQUUsRUFBRTtZQUNkLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsVUFBVSxFQUFFLE1BQU07WUFDbEIsV0FBVyxFQUFFLE1BQU07U0FDcEIsQ0FBQTtRQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxJQUFJLFVBQVUsQ0FBQTtRQUV4RCxJQUFJLFFBQVEsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN0QixLQUFLLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQTtZQUM1QixLQUFLLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQTtZQUN0QixTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQTtRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFBO1FBQzdCLENBQUM7UUFFRCxPQUFPLENBQ0wsTUFBQyxJQUFJLElBQ0gsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUFZLFFBQVEsSUFBSSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUMsS0FBSztnQkFDdkUsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLEtBQUssRUFBRSxVQUFVLENBQUMsNENBQTRDLEVBQUUsU0FBUyxDQUFDO2dCQUMxRSxVQUFVO2FBQ1gsRUFDRCxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQ3RDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFDdEMsS0FBSyxFQUFFLEtBQUssRUFDWixFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsS0FDVCxTQUFTLGFBRWIsWUFBRyxTQUFTLEVBQUUsZUFBZSxJQUFJLGlCQUFpQixFQUFFLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQyxHQUFJLEVBQ3BILFFBQVEsSUFBSSxLQUFDLElBQUksSUFBQyxLQUFLLEVBQUUsU0FBUyxZQUFHLEtBQUssR0FBUSxJQUM5QyxDQUNSLENBQUE7SUFDSCxDQUFDO0lBRUQsY0FBYyxHQUFHLEdBQUcsRUFBRTtRQUNwQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQyxDQUFBO0lBRUQsY0FBYyxHQUFHLEdBQUcsRUFBRTtRQUNwQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDdEIsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIG5vLXJldHVybi1hc3NpZ24sIHJlYWN0L2pzeC1vbmUtZXhwcmVzc2lvbi1wZXItbGluZSwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLXVucmVzb2x2ZWRcbmltcG9ydCBMaW5rIGZyb20gXCIuLi8uLi8uLi9saW5rXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdGV4dFwiXG5cbmNvbnN0IGRhdGFTZXRzID0ge31cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm9wc1xuICogQHByb3BlcnR5IHtib29sZWFufHN0cmluZ30gW2FjdGl2ZV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY2xhc3NOYW1lXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGljb25cbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbbGFiZWxdXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaG92ZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBDb21wb25lbnRzQWRtaW5MYXlvdXRNZW51TWVudUl0ZW0gZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgYWN0aXZlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpY29uOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5hbnlcbiAgfVxuICBzdGF0ZSA9IHtcbiAgICBob3ZlcjogZmFsc2VcbiAgfVxuXG4gIHNldHVwKCkge31cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2FjdGl2ZSwgY2hpbGRyZW4sIGNsYXNzTmFtZSwgaWNvbiwgaWRlbnRpZmllciwgbGFiZWwsIHRvLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtob3Zlcn0gPSB0aGlzLnNcbiAgICBjb25zdCB0ZXh0U3R5bGUgPSB7fVxuICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICB3aWR0aDogXCI4MCVcIixcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICBwYWRkaW5nVG9wOiAxMCxcbiAgICAgIHBhZGRpbmdSaWdodDogMTQsXG4gICAgICBwYWRkaW5nQm90dG9tOiAxMCxcbiAgICAgIHBhZGRpbmdMZWZ0OiAxNCxcbiAgICAgIG1hcmdpbkxlZnQ6IFwiYXV0b1wiLFxuICAgICAgbWFyZ2luUmlnaHQ6IFwiYXV0b1wiXG4gICAgfVxuICAgIGNvbnN0IGlzQWN0aXZlID0gYWN0aXZlID09PSB0cnVlIHx8IGFjdGl2ZSA9PSBpZGVudGlmaWVyXG5cbiAgICBpZiAoaXNBY3RpdmUgfHwgaG92ZXIpIHtcbiAgICAgIHN0eWxlLmJhY2tncm91bmQgPSBcIiMzMjM0MzVcIlxuICAgICAgc3R5bGUuYm9yZGVyUmFkaXVzID0gN1xuICAgICAgdGV4dFN0eWxlLmNvbG9yID0gXCIjYjliOWJiXCJcbiAgICB9IGVsc2Uge1xuICAgICAgdGV4dFN0eWxlLmNvbG9yID0gXCIjNmY2ZjcxXCJcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPExpbmtcbiAgICAgICAgZGF0YVNldD17ZGF0YVNldHNbYG1lbnVJdGVtLSR7aXNBY3RpdmV9LSR7Y2xhc3NOYW1lfS0ke2lkZW50aWZpZXJ9YF0gfHw9IHtcbiAgICAgICAgICBhY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgICAgIGNsYXNzOiBjbGFzc05hbWVzKFwiY29tcG9uZW50cy0tYWRtaW4tLWxheW91dC0tbWVudS0tbWVudS1pdGVtXCIsIGNsYXNzTmFtZSksXG4gICAgICAgICAgaWRlbnRpZmllclxuICAgICAgICB9fVxuICAgICAgICBvblBvaW50ZXJFbnRlcj17dGhpcy50dC5vblBvaW50ZXJFbnRlcn1cbiAgICAgICAgb25Qb2ludGVyTGVhdmU9e3RoaXMudHQub25Qb2ludGVyTGVhdmV9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgdG89e3RvIHx8IFwiI1wifVxuICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgPlxuICAgICAgICA8aSBjbGFzc05hbWU9e2BmYSBmYS1mdyBmYS0ke2ljb259IG1lbnUtaXRlbS1pY29uYH0gc3R5bGU9e3tjb2xvcjogdGV4dFN0eWxlLmNvbG9yLCBtYXJnaW5SaWdodDogNCwgZm9udFNpemU6IDEyfX0gLz5cbiAgICAgICAge2NoaWxkcmVuIHx8IDxUZXh0IHN0eWxlPXt0ZXh0U3R5bGV9PntsYWJlbH08L1RleHQ+fVxuICAgICAgPC9MaW5rPlxuICAgIClcbiAgfVxuXG4gIG9uUG9pbnRlckVudGVyID0gKCkgPT4ge1xuICAgIHRoaXMucy5ob3ZlciA9IHRydWVcbiAgfVxuXG4gIG9uUG9pbnRlckxlYXZlID0gKCkgPT4ge1xuICAgIHRoaXMucy5ob3ZlciA9IGZhbHNlXG4gIH1cbn0pKVxuIl19
@@ -26,7 +26,7 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
26
26
  const { model, reflection } = this.p;
27
27
  const query = model[reflection.name()]();
28
28
  const count = await query.ransack().count();
29
- this.setState({ count });
29
+ this.s.count = count;
30
30
  };
31
31
  render() {
32
32
  const { model, modelClass, reflection } = this.p;
@@ -34,4 +34,4 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
34
34
  return (_jsx(Link, { to: Params.withParams({ model: digg(modelClass.modelClassData(), "name"), model_id: model.primaryKey(), model_reflection: reflection.name() }), children: _jsxs(Text, { children: [modelClass.humanAttributeName(reflection.name()), " (", count, ")"] }) }));
35
35
  }
36
36
  }));
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1yZWZsZWN0aW9uLWxpbmsuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL3Nob3ctcmVmbGVjdGlvbi1saW5rLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLGlFQUFpRTtBQUNqRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMxQixPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFFaEMsNkNBQTZDO0FBQzdDOzs7R0FHRztBQUNILGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLG9DQUFxQyxTQUFRLGNBQWM7SUFDbEosS0FBSyxHQUFHO1FBQ04sS0FBSyxFQUFFLFNBQVM7S0FDakIsQ0FBQTtJQUVELEtBQUs7UUFDSCxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDMUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ1IsQ0FBQztJQUVELGlCQUFpQixHQUFHLEtBQUssSUFBSSxFQUFFO1FBQzdCLE1BQU0sRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUN4QyxNQUFNLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUUzQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUE7SUFFRCxNQUFNO1FBQ0osTUFBTSxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUM5QyxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUV0QixPQUFPLENBQ0wsS0FBQyxJQUFJLElBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLFlBQ2hKLE1BQUMsSUFBSSxlQUNGLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsRUFDaEQsSUFBSSxFQUNKLEtBQUssRUFDTCxHQUFHLElBQ0MsR0FDRixDQUNSLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1jdXJseS1icmFjZS1wcmVzZW5jZSwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IExpbmsgZnJvbSBcIi4uL2xpbmtcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vcGFyYW1zLmpzXCJcbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vdXRpbHMvdGV4dFwiXG5cbi8qKiBAdHlwZWRlZiB7UmVjb3JkPHN0cmluZywgbmV2ZXI+fSBQcm9wcyAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtudW1iZXIgfCB1bmRlZmluZWR9IGNvdW50XG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluU2hvd1JlZmxlY3Rpb25MaW5rIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0ZSA9IHtcbiAgICBjb3VudDogdW5kZWZpbmVkXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMuY291bnRSZWxhdGlvbnNoaXAoKVxuICAgIH0sIFtdKVxuICB9XG5cbiAgY291bnRSZWxhdGlvbnNoaXAgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qge21vZGVsLCByZWZsZWN0aW9ufSA9IHRoaXMucFxuICAgIGNvbnN0IHF1ZXJ5ID0gbW9kZWxbcmVmbGVjdGlvbi5uYW1lKCldKClcbiAgICBjb25zdCBjb3VudCA9IGF3YWl0IHF1ZXJ5LnJhbnNhY2soKS5jb3VudCgpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtjb3VudH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge21vZGVsLCBtb2RlbENsYXNzLCByZWZsZWN0aW9ufSA9IHRoaXMucFxuICAgIGNvbnN0IHtjb3VudH0gPSB0aGlzLnNcblxuICAgIHJldHVybiAoXG4gICAgICA8TGluayB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpLCBtb2RlbF9pZDogbW9kZWwucHJpbWFyeUtleSgpLCBtb2RlbF9yZWZsZWN0aW9uOiByZWZsZWN0aW9uLm5hbWUoKX0pfT5cbiAgICAgICAgPFRleHQ+XG4gICAgICAgICAge21vZGVsQ2xhc3MuaHVtYW5BdHRyaWJ1dGVOYW1lKHJlZmxlY3Rpb24ubmFtZSgpKX1cbiAgICAgICAgICB7XCIgKFwifVxuICAgICAgICAgIHtjb3VudH1cbiAgICAgICAgICB7XCIpXCJ9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvTGluaz5cbiAgICApXG4gIH1cbn0pKVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1yZWZsZWN0aW9uLWxpbmsuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL3Nob3ctcmVmbGVjdGlvbi1saW5rLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLGlFQUFpRTtBQUNqRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMxQixPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFFaEMsNkNBQTZDO0FBQzdDOzs7R0FHRztBQUNILGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLG9DQUFxQyxTQUFRLGNBQWM7SUFDbEosS0FBSyxHQUFHO1FBQ04sS0FBSyxFQUFFLFNBQVM7S0FDakIsQ0FBQTtJQUVELEtBQUs7UUFDSCxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDMUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ1IsQ0FBQztJQUVELGlCQUFpQixHQUFHLEtBQUssSUFBSSxFQUFFO1FBQzdCLE1BQU0sRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUN4QyxNQUFNLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUUzQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDdEIsQ0FBQyxDQUFBO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDOUMsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFdEIsT0FBTyxDQUNMLEtBQUMsSUFBSSxJQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxZQUNoSixNQUFDLElBQUksZUFDRixVQUFVLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQ2hELElBQUksRUFDSixLQUFLLEVBQ0wsR0FBRyxJQUNDLEdBQ0YsQ0FDUixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtY3VybHktYnJhY2UtcHJlc2VuY2UsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBMaW5rIGZyb20gXCIuLi9saW5rXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQYXJhbXMgZnJvbSBcIi4uL3BhcmFtcy5qc1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uL3V0aWxzL3RleHRcIlxuXG4vKiogQHR5cGVkZWYge1JlY29yZDxzdHJpbmcsIG5ldmVyPn0gUHJvcHMgKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgdW5kZWZpbmVkfSBjb3VudFxuICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KC8qKiBAYXVnbWVudHMge1NoYXBlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT59ICovIGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pblNob3dSZWZsZWN0aW9uTGluayBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGUgPSB7XG4gICAgY291bnQ6IHVuZGVmaW5lZFxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmNvdW50UmVsYXRpb25zaGlwKClcbiAgICB9LCBbXSlcbiAgfVxuXG4gIGNvdW50UmVsYXRpb25zaGlwID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHttb2RlbCwgcmVmbGVjdGlvbn0gPSB0aGlzLnBcbiAgICBjb25zdCBxdWVyeSA9IG1vZGVsW3JlZmxlY3Rpb24ubmFtZSgpXSgpXG4gICAgY29uc3QgY291bnQgPSBhd2FpdCBxdWVyeS5yYW5zYWNrKCkuY291bnQoKVxuXG4gICAgdGhpcy5zLmNvdW50ID0gY291bnRcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7bW9kZWwsIG1vZGVsQ2xhc3MsIHJlZmxlY3Rpb259ID0gdGhpcy5wXG4gICAgY29uc3Qge2NvdW50fSA9IHRoaXMuc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMaW5rIHRvPXtQYXJhbXMud2l0aFBhcmFtcyh7bW9kZWw6IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIiksIG1vZGVsX2lkOiBtb2RlbC5wcmltYXJ5S2V5KCksIG1vZGVsX3JlZmxlY3Rpb246IHJlZmxlY3Rpb24ubmFtZSgpfSl9PlxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7bW9kZWxDbGFzcy5odW1hbkF0dHJpYnV0ZU5hbWUocmVmbGVjdGlvbi5uYW1lKCkpfVxuICAgICAgICAgIHtcIiAoXCJ9XG4gICAgICAgICAge2NvdW50fVxuICAgICAgICAgIHtcIilcIn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9MaW5rPlxuICAgIClcbiAgfVxufSkpXG4iXX0=
@@ -48,7 +48,7 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
48
48
  }), testID: "api-maker/table/blocking-overlay", children: _jsx(ActivityIndicator, { color: "#fff", size: "large" }) }));
49
49
  }
50
50
  onBlocking = (blocking) => {
51
- this.setState({ blocking });
51
+ this.s.blocking = blocking;
52
52
  Animated.timing(this.opacity, {
53
53
  duration: FADE_DURATION,
54
54
  toValue: blocking ? 1 : 0,
@@ -56,4 +56,4 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
56
56
  }).start();
57
57
  };
58
58
  }));
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tpbmctb3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidGFibGUvYmxvY2tpbmctb3ZlcmxheS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDbkMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDeEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRCxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUE7QUFFekI7OztHQUdHO0FBQ0g7OztHQUdHO0FBQ0gsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLCtDQUErQyxDQUFDLE1BQU0sNEJBQTZCLFNBQVEsY0FBYztJQUMxSSxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ3BDLENBQUMsQ0FBQTtJQUVGLEtBQUssR0FBRyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQTtJQUV6QixLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1FBRXBELGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsTUFBTTtRQUNKLHVFQUF1RTtRQUN2RSxxRUFBcUU7UUFDckUsMkRBQTJEO1FBQzNELE1BQU0sT0FBTyxHQUFHO1lBQ2QsS0FBSyxFQUFFLG9DQUFvQztZQUMzQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTTtTQUNwRCxDQUFBO1FBRUQsT0FBTyxDQUNMLEtBQUMsUUFBUSxDQUFDLElBQUksSUFDWixPQUFPLEVBQUUsT0FBTyxFQUNoQixhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUNoRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUU7Z0JBQ2hDLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixHQUFHLEVBQUUsQ0FBQztnQkFDTixLQUFLLEVBQUUsQ0FBQztnQkFDUixNQUFNLEVBQUUsQ0FBQztnQkFDVCxJQUFJLEVBQUUsQ0FBQztnQkFDUCxlQUFlLEVBQUUsdUJBQXVCO2dCQUN4QyxVQUFVLEVBQUUsUUFBUTtnQkFDcEIsY0FBYyxFQUFFLFFBQVE7Z0JBQ3hCLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFDLEVBQ0YsTUFBTSxFQUFDLGtDQUFrQyxZQUV6QyxLQUFDLGlCQUFpQixJQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLE9BQU8sR0FBRyxHQUNqQyxDQUNqQixDQUFBO0lBQ0gsQ0FBQztJQUVELFVBQVUsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFBO1FBQ3pCLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUM1QixRQUFRLEVBQUUsYUFBYTtZQUN2QixPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsZUFBZSxFQUFFLEtBQUs7U0FDdkIsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ1osQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtBY3Rpdml0eUluZGljYXRvciwgQW5pbWF0ZWR9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuXG5jb25zdCBGQURFX0RVUkFUSU9OID0gMTUwXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcn0gZXZlbnRzXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gYmxvY2tpbmdcbiAqL1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBBcGlNYWtlclRhYmxlQmxvY2tpbmdPdmVybGF5IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGV2ZW50czogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc3RhdGUgPSB7YmxvY2tpbmc6IGZhbHNlfVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMub3BhY2l0eSA9IHVzZVJlZihuZXcgQW5pbWF0ZWQuVmFsdWUoMCkpLmN1cnJlbnRcblxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLnAuZXZlbnRzLCBcImJsb2NraW5nXCIsIHRoaXMudHQub25CbG9ja2luZylcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICAvLyBBbHdheXMgbW91bnRlZCDigJQgcG9pbnRlckV2ZW50cyB0b2dnbGVzIGNsaWNrLWNhcHR1cmUsIG9wYWNpdHkgZHJpdmVzXG4gICAgLy8gdGhlIGZhZGUuIEtlcHQgb3V0IG9mIGNvbmRpdGlvbmFsIHJlbmRlciBzbyB0aGUgQW5pbWF0ZWQuVmFsdWUgYW5kXG4gICAgLy8gZW1pdHRlciBzdWJzY3JpcHRpb24gZG9uJ3QgY2h1cm4gb24gZXZlcnkgYmxvY2svdW5ibG9jay5cbiAgICBjb25zdCBkYXRhU2V0ID0ge1xuICAgICAgY2xhc3M6IFwiYXBpLW1ha2VyLS10YWJsZS0tYmxvY2tpbmctb3ZlcmxheVwiLFxuICAgICAgb3ZlcmxheVN0YXRlOiB0aGlzLnMuYmxvY2tpbmcgPyBcImJsb2NraW5nXCIgOiBcImlkbGVcIlxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8QW5pbWF0ZWQuVmlld1xuICAgICAgICBkYXRhU2V0PXtkYXRhU2V0fVxuICAgICAgICBwb2ludGVyRXZlbnRzPXt0aGlzLnMuYmxvY2tpbmcgPyBcImF1dG9cIiA6IFwibm9uZVwifVxuICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcIm92ZXJsYXlTdHlsZVwiLCB7XG4gICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInJnYmEoNjQsIDY0LCA2NCwgMC41KVwiLFxuICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgekluZGV4OiAxMCxcbiAgICAgICAgICBvcGFjaXR5OiB0aGlzLm9wYWNpdHlcbiAgICAgICAgfSl9XG4gICAgICAgIHRlc3RJRD1cImFwaS1tYWtlci90YWJsZS9ibG9ja2luZy1vdmVybGF5XCJcbiAgICAgID5cbiAgICAgICAgPEFjdGl2aXR5SW5kaWNhdG9yIGNvbG9yPVwiI2ZmZlwiIHNpemU9XCJsYXJnZVwiIC8+XG4gICAgICA8L0FuaW1hdGVkLlZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25CbG9ja2luZyA9IChibG9ja2luZykgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe2Jsb2NraW5nfSlcbiAgICBBbmltYXRlZC50aW1pbmcodGhpcy5vcGFjaXR5LCB7XG4gICAgICBkdXJhdGlvbjogRkFERV9EVVJBVElPTixcbiAgICAgIHRvVmFsdWU6IGJsb2NraW5nID8gMSA6IDAsXG4gICAgICB1c2VOYXRpdmVEcml2ZXI6IGZhbHNlXG4gICAgfSkuc3RhcnQoKVxuICB9XG59KSlcbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tpbmctb3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidGFibGUvYmxvY2tpbmctb3ZlcmxheS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDbkMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDeEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRCxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUE7QUFFekI7OztHQUdHO0FBQ0g7OztHQUdHO0FBQ0gsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLCtDQUErQyxDQUFDLE1BQU0sNEJBQTZCLFNBQVEsY0FBYztJQUMxSSxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ3BDLENBQUMsQ0FBQTtJQUVGLEtBQUssR0FBRyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQTtJQUV6QixLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1FBRXBELGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsTUFBTTtRQUNKLHVFQUF1RTtRQUN2RSxxRUFBcUU7UUFDckUsMkRBQTJEO1FBQzNELE1BQU0sT0FBTyxHQUFHO1lBQ2QsS0FBSyxFQUFFLG9DQUFvQztZQUMzQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTTtTQUNwRCxDQUFBO1FBRUQsT0FBTyxDQUNMLEtBQUMsUUFBUSxDQUFDLElBQUksSUFDWixPQUFPLEVBQUUsT0FBTyxFQUNoQixhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUNoRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUU7Z0JBQ2hDLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixHQUFHLEVBQUUsQ0FBQztnQkFDTixLQUFLLEVBQUUsQ0FBQztnQkFDUixNQUFNLEVBQUUsQ0FBQztnQkFDVCxJQUFJLEVBQUUsQ0FBQztnQkFDUCxlQUFlLEVBQUUsdUJBQXVCO2dCQUN4QyxVQUFVLEVBQUUsUUFBUTtnQkFDcEIsY0FBYyxFQUFFLFFBQVE7Z0JBQ3hCLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFDLEVBQ0YsTUFBTSxFQUFDLGtDQUFrQyxZQUV6QyxLQUFDLGlCQUFpQixJQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLE9BQU8sR0FBRyxHQUNqQyxDQUNqQixDQUFBO0lBQ0gsQ0FBQztJQUVELFVBQVUsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUMxQixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDNUIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNaLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7QWN0aXZpdHlJbmRpY2F0b3IsIEFuaW1hdGVkfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB1c2VFdmVudEVtaXR0ZXIgZnJvbSBcInlhLXVzZS1ldmVudC1lbWl0dGVyXCJcblxuY29uc3QgRkFERV9EVVJBVElPTiA9IDE1MFxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFByb3BzXG4gKiBAcHJvcGVydHkge2ltcG9ydChcImV2ZW50c1wiKS5FdmVudEVtaXR0ZXJ9IGV2ZW50c1xuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGJsb2NraW5nXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJUYWJsZUJsb2NraW5nT3ZlcmxheSBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBldmVudHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHN0YXRlID0ge2Jsb2NraW5nOiBmYWxzZX1cblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLm9wYWNpdHkgPSB1c2VSZWYobmV3IEFuaW1hdGVkLlZhbHVlKDApKS5jdXJyZW50XG5cbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5wLmV2ZW50cywgXCJibG9ja2luZ1wiLCB0aGlzLnR0Lm9uQmxvY2tpbmcpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgLy8gQWx3YXlzIG1vdW50ZWQg4oCUIHBvaW50ZXJFdmVudHMgdG9nZ2xlcyBjbGljay1jYXB0dXJlLCBvcGFjaXR5IGRyaXZlc1xuICAgIC8vIHRoZSBmYWRlLiBLZXB0IG91dCBvZiBjb25kaXRpb25hbCByZW5kZXIgc28gdGhlIEFuaW1hdGVkLlZhbHVlIGFuZFxuICAgIC8vIGVtaXR0ZXIgc3Vic2NyaXB0aW9uIGRvbid0IGNodXJuIG9uIGV2ZXJ5IGJsb2NrL3VuYmxvY2suXG4gICAgY29uc3QgZGF0YVNldCA9IHtcbiAgICAgIGNsYXNzOiBcImFwaS1tYWtlci0tdGFibGUtLWJsb2NraW5nLW92ZXJsYXlcIixcbiAgICAgIG92ZXJsYXlTdGF0ZTogdGhpcy5zLmJsb2NraW5nID8gXCJibG9ja2luZ1wiIDogXCJpZGxlXCJcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEFuaW1hdGVkLlZpZXdcbiAgICAgICAgZGF0YVNldD17ZGF0YVNldH1cbiAgICAgICAgcG9pbnRlckV2ZW50cz17dGhpcy5zLmJsb2NraW5nID8gXCJhdXRvXCIgOiBcIm5vbmVcIn1cbiAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJvdmVybGF5U3R5bGVcIiwge1xuICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJyZ2JhKDY0LCA2NCwgNjQsIDAuNSlcIixcbiAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgIHpJbmRleDogMTAsXG4gICAgICAgICAgb3BhY2l0eTogdGhpcy5vcGFjaXR5XG4gICAgICAgIH0pfVxuICAgICAgICB0ZXN0SUQ9XCJhcGktbWFrZXIvdGFibGUvYmxvY2tpbmctb3ZlcmxheVwiXG4gICAgICA+XG4gICAgICAgIDxBY3Rpdml0eUluZGljYXRvciBjb2xvcj1cIiNmZmZcIiBzaXplPVwibGFyZ2VcIiAvPlxuICAgICAgPC9BbmltYXRlZC5WaWV3PlxuICAgIClcbiAgfVxuXG4gIG9uQmxvY2tpbmcgPSAoYmxvY2tpbmcpID0+IHtcbiAgICB0aGlzLnMuYmxvY2tpbmcgPSBibG9ja2luZ1xuICAgIEFuaW1hdGVkLnRpbWluZyh0aGlzLm9wYWNpdHksIHtcbiAgICAgIGR1cmF0aW9uOiBGQURFX0RVUkFUSU9OLFxuICAgICAgdG9WYWx1ZTogYmxvY2tpbmcgPyAxIDogMCxcbiAgICAgIHVzZU5hdGl2ZURyaXZlcjogZmFsc2VcbiAgICB9KS5zdGFydCgpXG4gIH1cbn0pKVxuIl19
@@ -145,14 +145,20 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
145
145
  throw new Error("'modelClassName' not set in state");
146
146
  const result = /** @type {AssociationsServiceResult} */ (await Services.current().sendRequest("Models::Associations", { model_class_name: this.s.modelClassName }));
147
147
  const { associations, ransackableAttributes, ransackableScopes } = this.parseAssociationData(result);
148
- this.setState({ associations, ransackableAttributes, ransackableScopes });
148
+ this.s.associations = associations;
149
+ this.s.ransackableAttributes = ransackableAttributes;
150
+ this.s.ransackableScopes = ransackableScopes;
149
151
  }
150
152
  finally {
151
153
  this.decreaseLoading();
152
154
  }
153
155
  }
154
- decreaseLoading = () => this.setState((prevState) => ({ loading: prevState.loading - 1 }));
155
- increaseLoading = () => this.setState((prevState) => ({ loading: prevState.loading + 1 }));
156
+ decreaseLoading = () => {
157
+ this.s.loading -= 1;
158
+ };
159
+ increaseLoading = () => {
160
+ this.s.loading += 1;
161
+ };
156
162
  async loadInitialValuesWithLoadingIndicator() {
157
163
  try {
158
164
  this.increaseLoading();
@@ -185,7 +191,9 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
185
191
  const { ransackableAttributes } = data;
186
192
  const attribute = this.p.filter.a;
187
193
  const ransackableAttribute = ransackableAttributes.find((ransackableAttribute) => digg(ransackableAttribute, "attributeName") == attribute);
188
- this.setState({ attribute: ransackableAttribute, modelClassName, path });
194
+ this.s.attribute = ransackableAttribute;
195
+ this.s.modelClassName = modelClassName;
196
+ this.s.path = path;
189
197
  }
190
198
  async loadRansackPredicates() {
191
199
  this.increaseLoading();
@@ -196,10 +204,8 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
196
204
  if (this.props.filter.pre) {
197
205
  currentPredicate = predicates.find((predicate) => predicate.name == this.props.filter.pre);
198
206
  }
199
- this.setState({
200
- predicate: currentPredicate,
201
- predicates
202
- });
207
+ this.s.predicate = currentPredicate;
208
+ this.s.predicates = predicates;
203
209
  }
204
210
  finally {
205
211
  this.decreaseLoading();
@@ -273,35 +279,29 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
273
279
  }
274
280
  /** @param {{attribute: FilterAttribute}} root0 */
275
281
  onAttributeClicked = ({ attribute }) => {
276
- this.setState({
277
- attribute,
278
- scope: undefined
279
- });
282
+ this.s.attribute = attribute;
283
+ this.s.scope = undefined;
280
284
  };
281
285
  onPredicateChanged = (e) => {
282
286
  const chosenPredicateName = digg(e, "target", "value");
283
287
  const predicate = this.s.predicates.find((predicate) => predicate.name == chosenPredicateName);
284
- this.setState({ predicate });
288
+ this.s.predicate = predicate;
285
289
  };
286
290
  /** @param {{reflection: FilterReflection}} root0 */
287
291
  onReflectionClicked = ({ reflection }) => {
288
292
  const newPath = this.s.path.concat([reflection]);
289
- this.setState({
290
- associations: null,
291
- attribute: undefined,
292
- actualCurrentModelClass: { modelClass: digg(reflection, "resource") },
293
- modelClassName: digg(reflection, "modelClassName"),
294
- path: newPath,
295
- predicate: undefined
296
- });
293
+ this.s.associations = null;
294
+ this.s.attribute = undefined;
295
+ this.s.actualCurrentModelClass = { modelClass: digg(reflection, "resource") };
296
+ this.s.modelClassName = digg(reflection, "modelClassName");
297
+ this.s.path = newPath;
298
+ this.s.predicate = undefined;
297
299
  };
298
300
  /** @param {{scope: string}} root0 */
299
301
  onScopeClicked = ({ scope }) => {
300
- this.setState({
301
- attribute: undefined,
302
- predicate: undefined,
303
- scope
304
- });
302
+ this.s.attribute = undefined;
303
+ this.s.predicate = undefined;
304
+ this.s.scope = scope;
305
305
  };
306
306
  onSubmit = () => {
307
307
  const { filter, querySearchName } = this.p;
@@ -352,4 +352,4 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
352
352
  .localeCompare(digg(b, "humanName").toLowerCase()));
353
353
  }
354
354
  }));
355
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZvcm0uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvZmlsdGVyLWZvcm0uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osdUZBQXVGO0FBQ3ZGLHNHQUFzRztBQUN0RywrRUFBK0U7QUFDL0UsaUZBQWlGO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUM1QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3BELE9BQU8sZ0JBQWdCLE1BQU0scUJBQXFCLENBQUE7QUFDbEQsT0FBTyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFDdkMsT0FBTyxJQUFJLE1BQU0sa0JBQWtCLENBQUE7QUFDbkMsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDcEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFlBQVksQ0FBQTtBQUMvQixPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLEtBQUssTUFBTSxvQkFBb0IsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQTtBQUNwQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxpQkFBaUIsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQTtBQUN4QyxPQUFPLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFN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LENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxXQUFXO1FBQ2pDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUMvQixJQUFJLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQzthQUNqQixXQUFXLEVBQUU7YUFDYixhQUFhLENBQ1osSUFBSSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FDbkMsQ0FDSixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21tYS1kYW5nbGUsIGltcGxpY2l0LWFycm93LWxpbmVicmVhaywgaW1wb3J0L25vLW5hbWVkLWFzLWRlZmF1bHQgKi9cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHksIG5ldy1jYXAsIG5ld2xpbmUtcGVyLWNoYWluZWQtY2FsbCwgbm8tYXdhaXQtaW4tbG9vcCwgbm8tcmV0dXJuLWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMsIHJlYWN0L2pzeC1tYXgtZGVwdGgsIHJlYWN0L2pzeC1uby1saXRlcmFscyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXNvcnQtcHJvcHMsIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge0FjdGl2aXR5SW5kaWNhdG9yLCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBBdHRyaWJ1dGVFbGVtZW50IGZyb20gXCIuL2F0dHJpYnV0ZS1lbGVtZW50XCJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL3V0aWxzL2J1dHRvblwiXG5pbXBvcnQgQ2FyZCBmcm9tIFwiLi4vLi4vdXRpbHMvY2FyZFwiXG5pbXBvcnQge2RpZ2csIGRpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge0Zvcm19IGZyb20gXCIuLi8uLi9mb3JtXCJcbmltcG9ydCBIZWFkZXIgZnJvbSBcIi4uLy4uL3V0aWxzL2hlYWRlclwiXG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uLy4uL2lucHV0cy9pbnB1dFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi8uLi9wYXJhbXMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlZmxlY3Rpb25FbGVtZW50IGZyb20gXCIuL3JlZmxlY3Rpb24tZWxlbWVudFwiXG5pbXBvcnQgU2NvcGVFbGVtZW50IGZyb20gXCIuL3Njb3BlLWVsZW1lbnRcIlxuaW1wb3J0IFNlbGVjdCBmcm9tIFwiLi4vLi4vaW5wdXRzL3NlbGVjdFwiXG5pbXBvcnQgU2VydmljZXMgZnJvbSBcIi4uLy4uL3NlcnZpY2VzLmpzXCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi91dGlscy90ZXh0XCJcbmltcG9ydCB7dXNlQnJlYWtwb2ludH0gZnJvbSBcInJlc3BvbnNpdmUtYnJlYWtwb2ludHNcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvYnVpbGQvc3JjL3VzZS1pMThuLmpzXCJcblxuY29uc3Qgc3R5bGVzID0ge31cblxuLyoqIEB0eXBlZGVmIHt0eXBlb2YgaW1wb3J0KFwiLi4vLi4vLi4vc3JjL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gQXBpTWFrZXJNb2RlbENsYXNzTGlrZSAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBGaWx0ZXJBdHRyaWJ1dGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaHVtYW5OYW1lXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRmlsdGVyUmVmbGVjdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IGh1bWFuTmFtZVxuICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtb2RlbENsYXNzTmFtZVxuICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSByZWZsZWN0aW9uTmFtZVxuICAqIEBwcm9wZXJ0eSB7QXBpTWFrZXJNb2RlbENsYXNzTGlrZX0gcmVzb3VyY2VcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBGaWx0ZXJQcmVkaWNhdGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQXNzb2NpYXRpb25zU2VydmljZVJlc3VsdFxuICogQHByb3BlcnR5IHt7aHVtYW5fbmFtZTogc3RyaW5nLCBtb2RlbF9jbGFzc19uYW1lOiBzdHJpbmcsIHJlZmxlY3Rpb25fbmFtZTogc3RyaW5nLCByZXNvdXJjZTogQXBpTWFrZXJNb2RlbENsYXNzTGlrZX1bXX0gYXNzb2NpYXRpb25zXG4gKiBAcHJvcGVydHkge3thdHRyaWJ1dGVfbmFtZTogc3RyaW5nLCBodW1hbl9uYW1lOiBzdHJpbmd9W119IHJhbnNhY2thYmxlX2F0dHJpYnV0ZXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IHJhbnNhY2thYmxlX3Njb3Blc1xuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZpbHRlckNvbmZpZ1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthXVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZpbHRlckluZGV4XG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbcF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcHJlXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzY11cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdl1cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm9wc1xuICogQHByb3BlcnR5IHtGaWx0ZXJDb25maWd9IGZpbHRlclxuICogQHByb3BlcnR5IHtBcGlNYWtlck1vZGVsQ2xhc3NMaWtlfSBtb2RlbENsYXNzXG4gKiBAcHJvcGVydHkgeygpID0+IHZvaWR9IG9uQXBwbHlDbGlja2VkXG4gKiBAcHJvcGVydHkgeygpID0+IHZvaWR9IG9uUmVxdWVzdENsb3NlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcXVlcnlTZWFyY2hOYW1lXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7e21vZGVsQ2xhc3M6IEFwaU1ha2VyTW9kZWxDbGFzc0xpa2V9fSBhY3R1YWxDdXJyZW50TW9kZWxDbGFzc1xuICogQHByb3BlcnR5IHtGaWx0ZXJSZWZsZWN0aW9uW118bnVsbH0gYXNzb2NpYXRpb25zXG4gKiBAcHJvcGVydHkge0ZpbHRlckF0dHJpYnV0ZXx1bmRlZmluZWR9IGF0dHJpYnV0ZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxvYWRpbmdcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtb2RlbENsYXNzTmFtZVxuICogQHByb3BlcnR5IHtGaWx0ZXJSZWZsZWN0aW9uW119IHBhdGhcbiAqIEBwcm9wZXJ0eSB7RmlsdGVyUHJlZGljYXRlfHVuZGVmaW5lZH0gcHJlZGljYXRlXG4gKiBAcHJvcGVydHkge0ZpbHRlclByZWRpY2F0ZVtdfHVuZGVmaW5lZH0gcHJlZGljYXRlc1xuICogQHByb3BlcnR5IHtGaWx0ZXJBdHRyaWJ1dGVbXXx1bmRlZmluZWR9IHJhbnNhY2thYmxlQXR0cmlidXRlc1xuICogQHByb3BlcnR5IHtzdHJpbmdbXXx1bmRlZmluZWR9IHJhbnNhY2thYmxlU2NvcGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ3x1bmRlZmluZWR9IHNjb3BlXG4gKiBAcHJvcGVydHkge3N0cmluZ3x1bmRlZmluZWR9IHZhbHVlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJUYWJsZUZpbHRlcnNGaWx0ZXJGb3JtIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3Qoe1xuICAgIGZpbHRlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQXBwbHlDbGlja2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVxdWVzdENsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5U2VhcmNoTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc3RhdGUgPSB7XG4gICAgYXNzb2NpYXRpb25zOiBudWxsLFxuICAgIGF0dHJpYnV0ZTogdW5kZWZpbmVkLFxuICAgIGFjdHVhbEN1cnJlbnRNb2RlbENsYXNzOiB7bW9kZWxDbGFzczogdGhpcy5wLm1vZGVsQ2xhc3N9LFxuICAgIGxvYWRpbmc6IDAsXG4gICAgbW9kZWxDbGFzc05hbWU6IGRpZ2codGhpcy5wLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJjbGFzc05hbWVcIiksXG4gICAgcGF0aDogW10sXG4gICAgcHJlZGljYXRlOiB1bmRlZmluZWQsXG4gICAgcHJlZGljYXRlczogdW5kZWZpbmVkLFxuICAgIHJhbnNhY2thYmxlQXR0cmlidXRlczogdW5kZWZpbmVkLFxuICAgIHJhbnNhY2thYmxlU2NvcGVzOiB1bmRlZmluZWQsXG4gICAgc2NvcGU6IHRoaXMucHJvcHMuZmlsdGVyLnNjLFxuICAgIHZhbHVlOiB0aGlzLnByb3BzLmZpbHRlci52XG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLmZpbHRlcnMuZmlsdGVyX2Zvcm1cIn0pXG5cbiAgICB0aGlzLmJyZWFrcG9pbnQgPSB1c2VCcmVha3BvaW50KClcbiAgICB0aGlzLnQgPSB0XG4gICAgdGhpcy52YWx1ZUlucHV0UmVmID0gdXNlUmVmKHVuZGVmaW5lZClcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkUmFuc2Fja1ByZWRpY2F0ZXMoKVxuXG4gICAgICBpZiAodGhpcy5wcm9wcy5maWx0ZXIudikge1xuICAgICAgICB0aGlzLmxvYWRJbml0aWFsVmFsdWVzV2l0aExvYWRpbmdJbmRpY2F0b3IoKVxuICAgICAgfVxuICAgIH0sIFtdKVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRBc3NvY2lhdGlvbnMoKVxuICAgIH0sIFt0aGlzLnMubW9kZWxDbGFzc05hbWVdKVxuICB9XG5cbiAgY3VycmVudE1vZGVsQ2xhc3MgPSAoKSA9PiBkaWdnKHRoaXMucy5hY3R1YWxDdXJyZW50TW9kZWxDbGFzcywgXCJtb2RlbENsYXNzXCIpXG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSBhc3NvY2lhdGlvbiBtZXRhZGF0YSByZXR1cm5lZCBmcm9tIHRoZSBiYWNrZW5kIGZpbHRlciBzZXJ2aWNlLlxuICAgKiBAcGFyYW0ge0Fzc29jaWF0aW9uc1NlcnZpY2VSZXN1bHR9IHJlc3VsdFxuICAgKiBAcmV0dXJucyB7e2Fzc29jaWF0aW9uczogRmlsdGVyUmVmbGVjdGlvbltdLCByYW5zYWNrYWJsZUF0dHJpYnV0ZXM6IEZpbHRlckF0dHJpYnV0ZVtdLCByYW5zYWNrYWJsZVNjb3Blczogc3RyaW5nW119fVxuICAgKi9cbiAgcGFyc2VBc3NvY2lhdGlvbkRhdGEocmVzdWx0KSB7XG4gICAgY29uc3QgYXNzb2NpYXRpb25zID0gcmVzdWx0LmFzc29jaWF0aW9ucy5tYXAoKHtodW1hbl9uYW1lLCBtb2RlbF9jbGFzc19uYW1lLCByZWZsZWN0aW9uX25hbWUsIHJlc291cmNlfSkgPT4gKHtcbiAgICAgIGh1bWFuTmFtZTogaHVtYW5fbmFtZSxcbiAgICAgIG1vZGVsQ2xhc3NOYW1lOiBtb2RlbF9jbGFzc19uYW1lLFxuICAgICAgcmVmbGVjdGlvbk5hbWU6IGluZmxlY3Rpb24uY2FtZWxpemUocmVmbGVjdGlvbl9uYW1lLCB0cnVlKSxcbiAgICAgIHJlc291cmNlXG4gICAgfSkpXG4gICAgY29uc3QgcmFuc2Fja2FibGVBdHRyaWJ1dGVzID0gZGlnZyhyZXN1bHQsIFwicmFuc2Fja2FibGVfYXR0cmlidXRlc1wiKS5tYXAoKHthdHRyaWJ1dGVfbmFtZTogYXR0cmlidXRlTmFtZSwgaHVtYW5fbmFtZTogaHVtYW5OYW1lfSkgPT4gKHtcbiAgICAgIGF0dHJpYnV0ZU5hbWUsIGh1bWFuTmFtZVxuICAgIH0pKVxuICAgIGNvbnN0IHJhbnNhY2thYmxlU2NvcGVzID0gZGlnZyhyZXN1bHQsIFwicmFuc2Fja2FibGVfc2NvcGVzXCIpXG5cbiAgICByZXR1cm4ge2Fzc29jaWF0aW9ucywgcmFuc2Fja2FibGVBdHRyaWJ1dGVzLCByYW5zYWNrYWJsZVNjb3Blc31cbiAgfVxuXG4gIGFzeW5jIGxvYWRBc3NvY2lhdGlvbnMoKSB7XG4gICAgdGhpcy5pbmNyZWFzZUxvYWRpbmcoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICghdGhpcy5zLm1vZGVsQ2xhc3NOYW1lKSB0aHJvdyBuZXcgRXJyb3IoXCInbW9kZWxDbGFzc05hbWUnIG5vdCBzZXQgaW4gc3RhdGVcIilcblxuICAgICAgY29uc3QgcmVzdWx0ID0gLyoqIEB0eXBlIHtBc3NvY2lhdGlvbnNTZXJ2aWNlUmVzdWx0fSAqLyAoXG4gICAgICAgIGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIk1vZGVsczo6QXNzb2NpYXRpb25zXCIsIHttb2RlbF9jbGFzc19uYW1lOiB0aGlzLnMubW9kZWxDbGFzc05hbWV9KVxuICAgICAgKVxuICAgICAgY29uc3Qge2Fzc29jaWF0aW9ucywgcmFuc2Fja2FibGVBdHRyaWJ1dGVzLCByYW5zYWNrYWJsZVNjb3Blc30gPSB0aGlzLnBhcnNlQXNzb2NpYXRpb25EYXRhKHJlc3VsdClcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7YXNzb2NpYXRpb25zLCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMsIHJhbnNhY2thYmxlU2NvcGVzfSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIGRlY3JlYXNlTG9hZGluZyA9ICgpID0+IHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4gKHtsb2FkaW5nOiBwcmV2U3RhdGUubG9hZGluZyAtIDF9KSlcbiAgaW5jcmVhc2VMb2FkaW5nID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiAoe2xvYWRpbmc6IHByZXZTdGF0ZS5sb2FkaW5nICsgMX0pKVxuXG4gIGFzeW5jIGxvYWRJbml0aWFsVmFsdWVzV2l0aExvYWRpbmdJbmRpY2F0b3IoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuaW5jcmVhc2VMb2FkaW5nKClcbiAgICAgIGF3YWl0IHRoaXMubG9hZEluaXRpYWxWYWx1ZXMoKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmRlY3JlYXNlTG9hZGluZygpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZEluaXRpYWxWYWx1ZXMoKSB7XG4gICAgaWYgKCF0aGlzLnMubW9kZWxDbGFzc05hbWUpIHRocm93IG5ldyBFcnJvcihcIidtb2RlbENsYXNzTmFtZScgbm90IHNldCBpbiBzdGF0ZVwiKVxuXG4gICAgbGV0IHJlc3VsdCA9IC8qKiBAdHlwZSB7QXNzb2NpYXRpb25zU2VydmljZVJlc3VsdH0gKi8gKFxuICAgICAgYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiTW9kZWxzOjpBc3NvY2lhdGlvbnNcIiwge21vZGVsX2NsYXNzX25hbWU6IHRoaXMucy5tb2RlbENsYXNzTmFtZX0pXG4gICAgKVxuICAgIGxldCBkYXRhID0gdGhpcy5wYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpXG4gICAgbGV0IG1vZGVsQ2xhc3NOYW1lID0gdGhpcy5zLm1vZGVsQ2xhc3NOYW1lXG4gICAgY29uc3QgcGF0aCA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHRoaXMucHJvcHMuZmlsdGVyLnApIHtcbiAgICAgIGNvbnN0IHJlZmxlY3Rpb24gPSBkYXRhLmFzc29jaWF0aW9ucy5maW5kKChhc3NvY2lhdGlvbikgPT4gZGlnZyhhc3NvY2lhdGlvbiwgXCJyZWZsZWN0aW9uTmFtZVwiKSA9PSBpbmZsZWN0aW9uLmNhbWVsaXplKHBhdGhQYXJ0LCB0cnVlKSlcblxuICAgICAgaWYgKCFyZWZsZWN0aW9uKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IGZpbmQgYXNzb2NpYXRpb24gYnkgdGhhdCBuYW1lICR7dGhpcy5zLm1vZGVsQ2xhc3NOYW1lfSMke3BhdGhQYXJ0fWApXG5cbiAgICAgIG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhyZWZsZWN0aW9uLCBcIm1vZGVsQ2xhc3NOYW1lXCIpXG5cbiAgICAgIGlmICghbW9kZWxDbGFzc05hbWUpIHtcbiAgICAgICAgY29uc3QgcGF0aE5hbWVzID0gcGF0aC5tYXAoKHBhdGhQYXJ0KSA9PiBwYXRoUGFydC5yZWZsZWN0aW9uTmFtZSkuam9pbihcIi5cIilcblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vZGVsIGNsYXNzIG5hbWUgZnJvbSAke3BhdGhOYW1lc30uJHtyZWZsZWN0aW9uLnJlZmxlY3Rpb25OYW1lfWApXG4gICAgICB9XG5cbiAgICAgIHJlc3VsdCA9IC8qKiBAdHlwZSB7QXNzb2NpYXRpb25zU2VydmljZVJlc3VsdH0gKi8gKFxuICAgICAgICBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJNb2RlbHM6OkFzc29jaWF0aW9uc1wiLCB7bW9kZWxfY2xhc3NfbmFtZTogbW9kZWxDbGFzc05hbWV9KVxuICAgICAgKVxuICAgICAgZGF0YSA9IHRoaXMucGFyc2VBc3NvY2lhdGlvbkRhdGEocmVzdWx0KVxuXG4gICAgICBwYXRoLnB1c2gocmVmbGVjdGlvbilcbiAgICB9XG5cbiAgICBjb25zdCB7cmFuc2Fja2FibGVBdHRyaWJ1dGVzfSA9IGRhdGFcbiAgICBjb25zdCBhdHRyaWJ1dGUgPSB0aGlzLnAuZmlsdGVyLmFcbiAgICBjb25zdCByYW5zYWNrYWJsZUF0dHJpYnV0ZSA9IHJhbnNhY2thYmxlQXR0cmlidXRlcy5maW5kKChyYW5zYWNrYWJsZUF0dHJpYnV0ZSkgPT4gZGlnZyhyYW5zYWNrYWJsZUF0dHJpYnV0ZSwgXCJhdHRyaWJ1dGVOYW1lXCIpID09IGF0dHJpYnV0ZSlcblxuICAgIHRoaXMuc2V0U3RhdGUoe2F0dHJpYnV0ZTogcmFuc2Fja2FibGVBdHRyaWJ1dGUsIG1vZGVsQ2xhc3NOYW1lLCBwYXRofSlcbiAgfVxuXG4gIGFzeW5jIGxvYWRSYW5zYWNrUHJlZGljYXRlcygpIHtcbiAgICB0aGlzLmluY3JlYXNlTG9hZGluZygpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJSYW5zYWNrOjpQcmVkaWNhdGVzXCIpXG4gICAgICBjb25zdCBwcmVkaWNhdGVzID0gZGlnZyhyZXNwb25zZSwgXCJwcmVkaWNhdGVzXCIpXG4gICAgICBsZXQgY3VycmVudFByZWRpY2F0ZVxuXG4gICAgICBpZiAodGhpcy5wcm9wcy5maWx0ZXIucHJlKSB7XG4gICAgICAgIGN1cnJlbnRQcmVkaWNhdGUgPSBwcmVkaWNhdGVzLmZpbmQoKHByZWRpY2F0ZSkgPT4gcHJlZGljYXRlLm5hbWUgPT0gdGhpcy5wcm9wcy5maWx0ZXIucHJlKVxuICAgICAgfVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgcHJlZGljYXRlOiBjdXJyZW50UHJlZGljYXRlLFxuICAgICAgICBwcmVkaWNhdGVzXG4gICAgICB9KVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmRlY3JlYXNlTG9hZGluZygpXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHticmVha3BvaW50LCB0LCB2YWx1ZUlucHV0UmVmfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YXR0cmlidXRlLCBwYXRoLCBwcmVkaWNhdGUsIHByZWRpY2F0ZXMsIHNjb3BlLCB2YWx1ZX0gPSB0aGlzLnNcbiAgICBjb25zdCB7bWRVcH0gPSBicmVha3BvaW50XG4gICAgbGV0IHN1Ym1pdEVuYWJsZWQgPSBmYWxzZVxuXG4gICAgaWYgKGF0dHJpYnV0ZSAmJiBwcmVkaWNhdGUpIHtcbiAgICAgIHN1Ym1pdEVuYWJsZWQgPSB0cnVlXG4gICAgfSBlbHNlIGlmIChzY29wZSkge1xuICAgICAgc3VibWl0RW5hYmxlZCA9IHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENhcmRcbiAgICAgICAgdGVzdElEPVwiYXBpLW1ha2VyL3RhYmxlL2ZpbHRlcnMvZmlsdGVyLWZvcm1cIlxuICAgICAgICBzdHlsZT17c3R5bGVzW2BjYXJkLSR7bWRVcH1gXSB8fD0ge1xuICAgICAgICAgIHdpZHRoOiBtZFVwID8gdW5kZWZpbmVkIDogXCIxMDAlXCIsXG4gICAgICAgICAgbWluV2lkdGg6IDUwLFxuICAgICAgICAgIG1pbkhlaWdodDogNTBcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPEZvcm0gb25TdWJtaXQ9e3RoaXMudHQub25TdWJtaXR9PlxuICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMucGF0aFJvdyB8fD0ge2ZsZXhEaXJlY3Rpb246IFwicm93XCJ9fT5cbiAgICAgICAgICAgIHtwYXRoLm1hcCgoe2h1bWFuTmFtZSwgcmVmbGVjdGlvbk5hbWV9LCBwYXRoUGFydEluZGV4KSA9PlxuICAgICAgICAgICAgICA8VmlldyBrZXk9e2Ake3BhdGhQYXJ0SW5kZXh9LSR7cmVmbGVjdGlvbk5hbWV9YH0gc3R5bGU9e3N0eWxlcy5wYXRoSXRlbVJvdyB8fD0ge2ZsZXhEaXJlY3Rpb246IFwicm93XCJ9fT5cbiAgICAgICAgICAgICAgICB7cGF0aFBhcnRJbmRleCA+IDAgJiZcbiAgICAgICAgICAgICAgICAgIDxUZXh0IHN0eWxlPXtzdHlsZXMucGF0aFNlcGFyYXRvciB8fD0ge21hcmdpblJpZ2h0OiA1LCBtYXJnaW5MZWZ0OiA1fX0+XG4gICAgICAgICAgICAgICAgICAgIC1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAgICB7aHVtYW5OYW1lfVxuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlc1tgZmlsdGVyc1Jvdy0ke21kVXB9YF0gfHw9IHtmbGV4RGlyZWN0aW9uOiBtZFVwID8gXCJyb3dcIiA6IFwiY29sdW1uXCJ9fT5cbiAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXNbYHJlbGF0aW9uc2hpcHNDb2x1bW4tJHttZFVwfWBdIHx8PSB7bWFyZ2luVG9wOiBtZFVwID8gdW5kZWZpbmVkIDogMjV9fT5cbiAgICAgICAgICAgICAgPEhlYWRlcj5cbiAgICAgICAgICAgICAgICB7dChcIi5yZWxhdGlvbnNoaXBzXCIsIHtkZWZhdWx0VmFsdWU6IFwiUmVsYXRpb25zaGlwc1wifSl9XG4gICAgICAgICAgICAgIDwvSGVhZGVyPlxuICAgICAgICAgICAgICB7dGhpcy5zLmFzc29jaWF0aW9ucyAmJiB0aGlzLnNvcnRlZFJlZmxlY3Rpb25zQnlOYW1lKHRoaXMucy5hc3NvY2lhdGlvbnMpLm1hcCgocmVmbGVjdGlvbikgPT5cbiAgICAgICAgICAgICAgICA8UmVmbGVjdGlvbkVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGtleT17cmVmbGVjdGlvbi5yZWZsZWN0aW9uTmFtZX1cbiAgICAgICAgICAgICAgICAgIG1vZGVsQ2xhc3NOYW1lPXt0aGlzLnMubW9kZWxDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uUmVmbGVjdGlvbkNsaWNrZWR9XG4gICAgICAgICAgICAgICAgICByZWZsZWN0aW9uPXtyZWZsZWN0aW9ufVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2BhdHRyaWJ1dGVzQ29sdW1uLSR7bWRVcH1gXSB8fD0ge21hcmdpblRvcDogbWRVcCA/IHVuZGVmaW5lZCA6IDI1fX0+XG4gICAgICAgICAgICAgIDxIZWFkZXI+XG4gICAgICAgICAgICAgICAge3QoXCIuYXR0cmlidXRlc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIkF0dHJpYnV0ZXNcIn0pfVxuICAgICAgICAgICAgICA8L0hlYWRlcj5cbiAgICAgICAgICAgICAge3RoaXMucy5yYW5zYWNrYWJsZUF0dHJpYnV0ZXMgJiYgdGhpcy5zb3J0ZWRBdHRyaWJ1dGVzQnlOYW1lKHRoaXMucy5yYW5zYWNrYWJsZUF0dHJpYnV0ZXMpPy5tYXAoKGF0dHJpYnV0ZSkgPT5cbiAgICAgICAgICAgICAgICA8QXR0cmlidXRlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXthdHRyaWJ1dGUuYXR0cmlidXRlTmFtZSA9PSB0aGlzLnMuYXR0cmlidXRlPy5hdHRyaWJ1dGVOYW1lfVxuICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgICAgICAgICAgICBrZXk9e2F0dHJpYnV0ZS5hdHRyaWJ1dGVOYW1lfVxuICAgICAgICAgICAgICAgICAgbW9kZWxDbGFzc05hbWU9e3RoaXMucy5tb2RlbENsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudHQub25BdHRyaWJ1dGVDbGlja2VkfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHt0aGlzLnMucmFuc2Fja2FibGVTY29wZXM/Lm1hcCgoc2NvcGUpID0+XG4gICAgICAgICAgICAgICAgPFNjb3BlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXtzY29wZSA9PSB0aGlzLnMuc2NvcGV9XG4gICAgICAgICAgICAgICAgICBrZXk9e3Njb3BlfVxuICAgICAgICAgICAgICAgICAgc2NvcGU9e3Njb3BlfVxuICAgICAgICAgICAgICAgICAgb25TY29wZUNsaWNrZWQ9e3RoaXMudHQub25TY29wZUNsaWNrZWR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXNbYHNlYXJjaENvbHVtbi0ke21kVXB9YF0gfHw9IHttYXJnaW5Ub3A6IG1kVXAgPyB1bmRlZmluZWQgOiAyNX19PlxuICAgICAgICAgICAgICA8SGVhZGVyPlxuICAgICAgICAgICAgICAgIHt0KFwiLnNlYXJjaFwiLCB7ZGVmYXVsdFZhbHVlOiBcIlNlYXJjaFwifSl9XG4gICAgICAgICAgICAgIDwvSGVhZGVyPlxuICAgICAgICAgICAgICA8Vmlldz5cbiAgICAgICAgICAgICAgICB7cHJlZGljYXRlcyAmJiAhdGhpcy5zLnNjb3BlICYmXG4gICAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInByZWRpY2F0ZS1zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3ByZWRpY2F0ZT8ubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgaW5jbHVkZUJsYW5rXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnR0Lm9uUHJlZGljYXRlQ2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17cHJlZGljYXRlcy5tYXAoKHByZWRpY2F0ZSkgPT4gZGlnZyhwcmVkaWNhdGUsIFwibmFtZVwiKSl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzLnNlYXJjaElucHV0Q29udGFpbmVyIHx8PSB7bWFyZ2luVG9wOiAxMH19PlxuICAgICAgICAgICAgICAgIHsoKGF0dHJpYnV0ZSAmJiBwcmVkaWNhdGUpIHx8IHNjb3BlKSAmJlxuICAgICAgICAgICAgICAgICAgPElucHV0IGNsYXNzTmFtZT1cInZhbHVlLWlucHV0XCIgZGVmYXVsdFZhbHVlPXt2YWx1ZX0gaW5wdXRSZWY9e3ZhbHVlSW5wdXRSZWZ9IC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuYWN0aW9uc1JvdyB8fD0ge2ZsZXhEaXJlY3Rpb246IFwicm93XCIsIGp1c3RpZnlDb250ZW50OiBcImVuZFwiLCBtYXJnaW5Ub3A6IDEwfX0+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGRhbmdlclxuICAgICAgICAgICAgICBpY29uPVwicmVtb3ZlXCJcbiAgICAgICAgICAgICAgbGFiZWw9e3QoXCIuY2FuY2VsXCIsIHtkZWZhdWx0VmFsdWU6IFwiQ2FuY2VsXCJ9KX1cbiAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy5wLm9uUmVxdWVzdENsb3NlfVxuICAgICAgICAgICAgICBwcmVzc2FibGVQcm9wcz17dGhpcy5jYWNoZShcImNhbmNlbEJ1dHRvblByZXNzYWJsZVByb3BzXCIsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogNVxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGRpc2FibGVkPXshc3VibWl0RW5hYmxlZH1cbiAgICAgICAgICAgICAgaWNvbj1cImNoZWNrXCJcbiAgICAgICAgICAgICAgbGFiZWw9e3QoXCIuYXBwbHlcIiwge2RlZmF1bHRWYWx1ZTogXCJBcHBseVwifSl9XG4gICAgICAgICAgICAgIHByZXNzYWJsZVByb3BzPXt0aGlzLmNhY2hlKFwiYXBwbGVCdXR0b25QcmVzc2FibGVQcm9wc1wiLCB7XG4gICAgICAgICAgICAgICAgc3R5bGU6IHttYXJnaW5MZWZ0OiA1fSxcbiAgICAgICAgICAgICAgICB0ZXN0SUQ6IFwiYXBwbHktZmlsdGVyLWJ1dHRvblwiXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICBzdWJtaXRcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICA8L0Zvcm0+XG4gICAgICAgIHt0aGlzLnMubG9hZGluZyA+IDAgJiZcbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5sb2FkaW5nT3ZlcmxheSB8fD0ge1xuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgICBoZWlnaHQ6IFwiMTAwJVwiXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxBY3Rpdml0eUluZGljYXRvciBzaXplPVwibGFyZ2VcIiAvPlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgPC9DYXJkPlxuICAgIClcbiAgfVxuXG4gIGN1cnJlbnRNb2RlbENsYXNzRnJvbVBhdGgocGF0aCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IHRoaXMucFxuICAgIGxldCBjdXJyZW50TW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcblxuICAgIGZvciAoY29uc3QgcGF0aFBhcnQgb2YgcGF0aCkge1xuICAgICAgY29uc3QgY2FtZWxpemVkUGF0aFBhcnQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHBhdGhQYXJ0LCB0cnVlKVxuICAgICAgY29uc3QgYXNzb2NpYXRpb24gPSBjdXJyZW50TW9kZWxDbGFzcy5yYW5zYWNrYWJsZUFzc29jaWF0aW9ucygpLmZpbmQoKHJlZmxlY3Rpb24pID0+IHJlZmxlY3Rpb24ubmFtZSgpID09IGNhbWVsaXplZFBhdGhQYXJ0KVxuXG4gICAgICBpZiAoIWFzc29jaWF0aW9uKSB7XG4gICAgICAgIGNvbnN0IHJhbnNhY2thYmxlQXNzb2NpYXRpb25OYW1lcyA9IGN1cnJlbnRNb2RlbENsYXNzLnJhbnNhY2thYmxlQXNzb2NpYXRpb25zKCkubWFwKChyZWZsZWN0aW9uKSA9PiByZWZsZWN0aW9uLm5hbWUoKSkuam9pbihcIiwgXCIpXG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBhIFJhbnNhY2thYmxlIGFzc29jaWF0aW9uIGJ5IHRoYXQgbmFtZTogJHtjYW1lbGl6ZWRQYXRoUGFydH0gaW4gJHtyYW5zYWNrYWJsZUFzc29jaWF0aW9uTmFtZXN9YClcbiAgICAgIH1cblxuICAgICAgY3VycmVudE1vZGVsQ2xhc3MgPSBhc3NvY2lhdGlvbi5tb2RlbENsYXNzKClcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudE1vZGVsQ2xhc3NcbiAgfVxuXG4gIGN1cnJlbnRQYXRoUGFydHMoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gdGhpcy5wXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5zXG4gICAgY29uc3QgcmVzdWx0ID0gW11cbiAgICBsZXQgY3VycmVudE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzXG5cbiAgICByZXN1bHQucHVzaCh7XG4gICAgICBtb2RlbENsYXNzLFxuICAgICAgdHJhbnNsYXRpb246IG1vZGVsQ2xhc3MubW9kZWxOYW1lKCkuaHVtYW4oe2NvdW50OiAyfSlcbiAgICB9KVxuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiBwYXRoKSB7XG4gICAgICBjb25zdCBjYW1lbGl6ZWRQYXRoUGFydCA9IGluZmxlY3Rpb24uY2FtZWxpemUocGF0aFBhcnQsIHRydWUpXG4gICAgICBjb25zdCBwYXRoUGFydFRyYW5zbGF0aW9uID0gY3VycmVudE1vZGVsQ2xhc3MuaHVtYW5BdHRyaWJ1dGVOYW1lKGNhbWVsaXplZFBhdGhQYXJ0KVxuXG4gICAgICBjdXJyZW50TW9kZWxDbGFzcyA9IGN1cnJlbnRNb2RlbENsYXNzLnJhbnNhY2thYmxlQXNzb2NpYXRpb25zKCkuZmluZCgocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5uYW1lKCkgPT0gY2FtZWxpemVkUGF0aFBhcnQpLm1vZGVsQ2xhc3MoKVxuXG4gICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgIG1vZGVsQ2xhc3M6IGN1cnJlbnRNb2RlbENsYXNzLFxuICAgICAgICB0cmFuc2xhdGlvbjogcGF0aFBhcnRUcmFuc2xhdGlvblxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvKiogQHBhcmFtIHt7YXR0cmlidXRlOiBGaWx0ZXJBdHRyaWJ1dGV9fSByb290MCAqL1xuICBvbkF0dHJpYnV0ZUNsaWNrZWQgPSAoe2F0dHJpYnV0ZX0pID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGF0dHJpYnV0ZSxcbiAgICAgIHNjb3BlOiB1bmRlZmluZWRcbiAgICB9KVxuICB9XG5cbiAgb25QcmVkaWNhdGVDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBjb25zdCBjaG9zZW5QcmVkaWNhdGVOYW1lID0gZGlnZyhlLCBcInRhcmdldFwiLCBcInZhbHVlXCIpXG4gICAgY29uc3QgcHJlZGljYXRlID0gdGhpcy5zLnByZWRpY2F0ZXMuZmluZCgocHJlZGljYXRlKSA9PiBwcmVkaWNhdGUubmFtZSA9PSBjaG9zZW5QcmVkaWNhdGVOYW1lKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7cHJlZGljYXRlfSlcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge3tyZWZsZWN0aW9uOiBGaWx0ZXJSZWZsZWN0aW9ufX0gcm9vdDAgKi9cbiAgb25SZWZsZWN0aW9uQ2xpY2tlZCA9ICh7cmVmbGVjdGlvbn0pID0+IHtcbiAgICBjb25zdCBuZXdQYXRoID0gdGhpcy5zLnBhdGguY29uY2F0KFtyZWZsZWN0aW9uXSlcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXNzb2NpYXRpb25zOiBudWxsLFxuICAgICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgICBhY3R1YWxDdXJyZW50TW9kZWxDbGFzczoge21vZGVsQ2xhc3M6IGRpZ2cocmVmbGVjdGlvbiwgXCJyZXNvdXJjZVwiKX0sXG4gICAgICBtb2RlbENsYXNzTmFtZTogZGlnZyhyZWZsZWN0aW9uLCBcIm1vZGVsQ2xhc3NOYW1lXCIpLFxuICAgICAgcGF0aDogbmV3UGF0aCxcbiAgICAgIHByZWRpY2F0ZTogdW5kZWZpbmVkXG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge3tzY29wZTogc3RyaW5nfX0gcm9vdDAgKi9cbiAgb25TY29wZUNsaWNrZWQgPSAoe3Njb3BlfSkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgICBwcmVkaWNhdGU6IHVuZGVmaW5lZCxcbiAgICAgIHNjb3BlXG4gICAgfSlcbiAgfVxuXG4gIG9uU3VibWl0ID0gKCkgPT4ge1xuICAgIGNvbnN0IHtmaWx0ZXIsIHF1ZXJ5U2VhcmNoTmFtZX0gPSB0aGlzLnBcbiAgICBjb25zdCB7YXR0cmlidXRlLCBwYXRoLCBwcmVkaWNhdGUsIHNjb3BlfSA9IHRoaXMuc1xuICAgIGNvbnN0IHtmaWx0ZXJJbmRleH0gPSBkaWdzKGZpbHRlciwgXCJmaWx0ZXJJbmRleFwiKVxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IFBhcmFtcy5wYXJzZSgpW3F1ZXJ5U2VhcmNoTmFtZV0gfHwge31cbiAgICBjb25zdCB2YWx1ZSA9IGRpZ2codGhpcy50dC52YWx1ZUlucHV0UmVmLCBcImN1cnJlbnRcIiwgXCJ2YWx1ZVwiKVxuICAgIGNvbnN0IHAgPSBwYXRoLm1hcCgocmVmbGVjdGlvbikgPT4gaW5mbGVjdGlvbi51bmRlcnNjb3JlKHJlZmxlY3Rpb24ucmVmbGVjdGlvbk5hbWUpKVxuICAgIGNvbnN0IG5ld1NlYXJjaFBhcmFtcyA9IHtcbiAgICAgIHAsXG4gICAgICB2OiB2YWx1ZVxuICAgIH1cblxuICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgIG5ld1NlYXJjaFBhcmFtcy5hID0gZGlnZyhhdHRyaWJ1dGUsIFwiYXR0cmlidXRlTmFtZVwiKVxuICAgICAgbmV3U2VhcmNoUGFyYW1zLnByZSA9IGRpZ2cocHJlZGljYXRlLCBcIm5hbWVcIilcbiAgICB9IGVsc2UgaWYgKHNjb3BlKSB7XG4gICAgICBuZXdTZWFyY2hQYXJhbXMuc2MgPSBzY29wZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEb250IGtub3cgaWYgc2hvdWxkIHNlYXJjaCBmb3IgYXR0cmlidXRlIG9yIHNjb3BlP1wiKVxuICAgIH1cblxuICAgIHNlYXJjaFBhcmFtc1tmaWx0ZXJJbmRleF0gPSBKU09OLnN0cmluZ2lmeShuZXdTZWFyY2hQYXJhbXMpXG5cbiAgICBjb25zdCBuZXdQYXJhbXMgPSB7fVxuXG4gICAgbmV3UGFyYW1zW3F1ZXJ5U2VhcmNoTmFtZV0gPSBzZWFyY2hQYXJhbXNcblxuICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMobmV3UGFyYW1zKVxuXG4gICAgdGhpcy5wcm9wcy5vbkFwcGx5Q2xpY2tlZCgpXG4gIH1cblxuICByZWZsZWN0aW9uc1dpdGhNb2RlbENsYXNzKHJlZmxlY3Rpb25zKSB7XG4gICAgcmV0dXJuIHJlZmxlY3Rpb25zLmZpbHRlcigocmVmbGVjdGlvbikgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVmbGVjdGlvbi5tb2RlbENsYXNzKClcblxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHNvcnRlZEF0dHJpYnV0ZXNCeU5hbWUoYXR0cmlidXRlcykge1xuICAgIHJldHVybiBhdHRyaWJ1dGVzLnNvcnQoKGEsIGIpID0+XG4gICAgICBkaWdnKGEsIFwiaHVtYW5OYW1lXCIpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5sb2NhbGVDb21wYXJlKFxuICAgICAgICAgIGRpZ2coYiwgXCJodW1hbk5hbWVcIikudG9Mb3dlckNhc2UoKVxuICAgICAgICApXG4gICAgKVxuICB9XG5cbiAgc29ydGVkUmVmbGVjdGlvbnNCeU5hbWUocmVmbGVjdGlvbnMpIHtcbiAgICByZXR1cm4gcmVmbGVjdGlvbnMuc29ydCgoYSwgYikgPT5cbiAgICAgIGRpZ2coYSwgXCJodW1hbk5hbWVcIilcbiAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgLmxvY2FsZUNvbXBhcmUoXG4gICAgICAgICAgZGlnZyhiLCBcImh1bWFuTmFtZVwiKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgIClcbiAgICApXG4gIH1cbn0pKVxuIl19
355
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZvcm0uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvZmlsdGVyLWZvcm0uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osdUZBQXVGO0FBQ3ZGLHNHQUFzRztBQUN0RywrRUFBK0U7QUFDL0UsaUZBQWlGO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUM1QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3BELE9BQU8sZ0JBQWdCLE1BQU0scUJBQXFCLENBQUE7QUFDbEQsT0FBTyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFDdkMsT0FBTyxJQUFJLE1BQU0sa0JBQWtCLENBQUE7QUFDbkMsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDcEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFlBQVksQ0FBQTtBQUMvQixPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLEtBQUssTUFBTSxvQkFBb0IsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQTtBQUNwQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxpQkFBaUIsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQTtBQUN4QyxPQUFPLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFN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RCxzQkFBc0IsQ0FBQyxVQUFVO1FBQy9CLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUM5QixJQUFJLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQzthQUNqQixXQUFXLEVBQUU7YUFDYixhQUFhLENBQ1osSUFBSSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FDbkMsQ0FDSixDQUFBO0lBQ0gsQ0FBQztJQUVELHVCQUF1QixDQUFDLFdBQVc7UUFDakMsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQy9CLElBQUksQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDO2FBQ2pCLFdBQVcsRUFBRTthQUNiLGFBQWEsQ0FDWixJQUFJLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUNuQyxDQUNKLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIGNvbW1hLWRhbmdsZSwgaW1wbGljaXQtYXJyb3ctbGluZWJyZWFrLCBpbXBvcnQvbm8tbmFtZWQtYXMtZGVmYXVsdCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSwgbmV3LWNhcCwgbmV3bGluZS1wZXItY2hhaW5lZC1jYWxsLCBuby1hd2FpdC1pbi1sb29wLCBuby1yZXR1cm4tYXNzaWduICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycywgcmVhY3QvanN4LW1heC1kZXB0aCwgcmVhY3QvanN4LW5vLWxpdGVyYWxzICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtc29ydC1wcm9wcywgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5LCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW8sIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7QWN0aXZpdHlJbmRpY2F0b3IsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IEF0dHJpYnV0ZUVsZW1lbnQgZnJvbSBcIi4vYXR0cmlidXRlLWVsZW1lbnRcIlxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vdXRpbHMvYnV0dG9uXCJcbmltcG9ydCBDYXJkIGZyb20gXCIuLi8uLi91dGlscy9jYXJkXCJcbmltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7Rm9ybX0gZnJvbSBcIi4uLy4uL2Zvcm1cIlxuaW1wb3J0IEhlYWRlciBmcm9tIFwiLi4vLi4vdXRpbHMvaGVhZGVyXCJcbmltcG9ydCBJbnB1dCBmcm9tIFwiLi4vLi4vaW5wdXRzL2lucHV0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQYXJhbXMgZnJvbSBcIi4uLy4uL3BhcmFtcy5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVmbGVjdGlvbkVsZW1lbnQgZnJvbSBcIi4vcmVmbGVjdGlvbi1lbGVtZW50XCJcbmltcG9ydCBTY29wZUVsZW1lbnQgZnJvbSBcIi4vc2NvcGUtZWxlbWVudFwiXG5pbXBvcnQgU2VsZWN0IGZyb20gXCIuLi8uLi9pbnB1dHMvc2VsZWN0XCJcbmltcG9ydCBTZXJ2aWNlcyBmcm9tIFwiLi4vLi4vc2VydmljZXMuanNcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9idWlsZC9zcmMvdXNlLWkxOG4uanNcIlxuXG5jb25zdCBzdHlsZXMgPSB7fVxuXG4vKiogQHR5cGVkZWYge3R5cGVvZiBpbXBvcnQoXCIuLi8uLi8uLi9zcmMvYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBBcGlNYWtlck1vZGVsQ2xhc3NMaWtlICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZpbHRlckF0dHJpYnV0ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGF0dHJpYnV0ZU5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBodW1hbk5hbWVcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBGaWx0ZXJSZWZsZWN0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaHVtYW5OYW1lXG4gICogQHByb3BlcnR5IHtzdHJpbmd9IG1vZGVsQ2xhc3NOYW1lXG4gICogQHByb3BlcnR5IHtzdHJpbmd9IHJlZmxlY3Rpb25OYW1lXG4gICogQHByb3BlcnR5IHtBcGlNYWtlck1vZGVsQ2xhc3NMaWtlfSByZXNvdXJjZVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZpbHRlclByZWRpY2F0ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBBc3NvY2lhdGlvbnNTZXJ2aWNlUmVzdWx0XG4gKiBAcHJvcGVydHkge3todW1hbl9uYW1lOiBzdHJpbmcsIG1vZGVsX2NsYXNzX25hbWU6IHN0cmluZywgcmVmbGVjdGlvbl9uYW1lOiBzdHJpbmcsIHJlc291cmNlOiBBcGlNYWtlck1vZGVsQ2xhc3NMaWtlfVtdfSBhc3NvY2lhdGlvbnNcbiAqIEBwcm9wZXJ0eSB7e2F0dHJpYnV0ZV9uYW1lOiBzdHJpbmcsIGh1bWFuX25hbWU6IHN0cmluZ31bXX0gcmFuc2Fja2FibGVfYXR0cmlidXRlc1xuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gcmFuc2Fja2FibGVfc2NvcGVzXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRmlsdGVyQ29uZmlnXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2FdXG4gKiBAcHJvcGVydHkge251bWJlcn0gZmlsdGVySW5kZXhcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtwXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwcmVdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3NjXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt2XVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFByb3BzXG4gKiBAcHJvcGVydHkge0ZpbHRlckNvbmZpZ30gZmlsdGVyXG4gKiBAcHJvcGVydHkge0FwaU1ha2VyTW9kZWxDbGFzc0xpa2V9IG1vZGVsQ2xhc3NcbiAqIEBwcm9wZXJ0eSB7KCkgPT4gdm9pZH0gb25BcHBseUNsaWNrZWRcbiAqIEBwcm9wZXJ0eSB7KCkgPT4gdm9pZH0gb25SZXF1ZXN0Q2xvc2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBxdWVyeVNlYXJjaE5hbWVcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHt7bW9kZWxDbGFzczogQXBpTWFrZXJNb2RlbENsYXNzTGlrZX19IGFjdHVhbEN1cnJlbnRNb2RlbENsYXNzXG4gKiBAcHJvcGVydHkge0ZpbHRlclJlZmxlY3Rpb25bXXxudWxsfSBhc3NvY2lhdGlvbnNcbiAqIEBwcm9wZXJ0eSB7RmlsdGVyQXR0cmlidXRlfHVuZGVmaW5lZH0gYXR0cmlidXRlXG4gKiBAcHJvcGVydHkge251bWJlcn0gbG9hZGluZ1xuICogQHByb3BlcnR5IHtzdHJpbmd9IG1vZGVsQ2xhc3NOYW1lXG4gKiBAcHJvcGVydHkge0ZpbHRlclJlZmxlY3Rpb25bXX0gcGF0aFxuICogQHByb3BlcnR5IHtGaWx0ZXJQcmVkaWNhdGV8dW5kZWZpbmVkfSBwcmVkaWNhdGVcbiAqIEBwcm9wZXJ0eSB7RmlsdGVyUHJlZGljYXRlW118dW5kZWZpbmVkfSBwcmVkaWNhdGVzXG4gKiBAcHJvcGVydHkge0ZpbHRlckF0dHJpYnV0ZVtdfHVuZGVmaW5lZH0gcmFuc2Fja2FibGVBdHRyaWJ1dGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfHVuZGVmaW5lZH0gcmFuc2Fja2FibGVTY29wZXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfHVuZGVmaW5lZH0gc2NvcGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfHVuZGVmaW5lZH0gdmFsdWVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVyc0ZpbHRlckZvcm0gZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgZmlsdGVyOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25BcHBseUNsaWNrZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25SZXF1ZXN0Q2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcXVlcnlTZWFyY2hOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgfSlcblxuICBzdGF0ZSA9IHtcbiAgICBhc3NvY2lhdGlvbnM6IG51bGwsXG4gICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgYWN0dWFsQ3VycmVudE1vZGVsQ2xhc3M6IHttb2RlbENsYXNzOiB0aGlzLnAubW9kZWxDbGFzc30sXG4gICAgbG9hZGluZzogMCxcbiAgICBtb2RlbENsYXNzTmFtZTogZGlnZyh0aGlzLnAubW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcImNsYXNzTmFtZVwiKSxcbiAgICBwYXRoOiBbXSxcbiAgICBwcmVkaWNhdGU6IHVuZGVmaW5lZCxcbiAgICBwcmVkaWNhdGVzOiB1bmRlZmluZWQsXG4gICAgcmFuc2Fja2FibGVBdHRyaWJ1dGVzOiB1bmRlZmluZWQsXG4gICAgcmFuc2Fja2FibGVTY29wZXM6IHVuZGVmaW5lZCxcbiAgICBzY29wZTogdGhpcy5wcm9wcy5maWx0ZXIuc2MsXG4gICAgdmFsdWU6IHRoaXMucHJvcHMuZmlsdGVyLnZcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUuZmlsdGVycy5maWx0ZXJfZm9ybVwifSlcblxuICAgIHRoaXMuYnJlYWtwb2ludCA9IHVzZUJyZWFrcG9pbnQoKVxuICAgIHRoaXMudCA9IHRcbiAgICB0aGlzLnZhbHVlSW5wdXRSZWYgPSB1c2VSZWYodW5kZWZpbmVkKVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRSYW5zYWNrUHJlZGljYXRlcygpXG5cbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbHRlci52KSB7XG4gICAgICAgIHRoaXMubG9hZEluaXRpYWxWYWx1ZXNXaXRoTG9hZGluZ0luZGljYXRvcigpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZEFzc29jaWF0aW9ucygpXG4gICAgfSwgW3RoaXMucy5tb2RlbENsYXNzTmFtZV0pXG4gIH1cblxuICBjdXJyZW50TW9kZWxDbGFzcyA9ICgpID0+IGRpZ2codGhpcy5zLmFjdHVhbEN1cnJlbnRNb2RlbENsYXNzLCBcIm1vZGVsQ2xhc3NcIilcblxuICAvKipcbiAgICogTm9ybWFsaXplIGFzc29jaWF0aW9uIG1ldGFkYXRhIHJldHVybmVkIGZyb20gdGhlIGJhY2tlbmQgZmlsdGVyIHNlcnZpY2UuXG4gICAqIEBwYXJhbSB7QXNzb2NpYXRpb25zU2VydmljZVJlc3VsdH0gcmVzdWx0XG4gICAqIEByZXR1cm5zIHt7YXNzb2NpYXRpb25zOiBGaWx0ZXJSZWZsZWN0aW9uW10sIHJhbnNhY2thYmxlQXR0cmlidXRlczogRmlsdGVyQXR0cmlidXRlW10sIHJhbnNhY2thYmxlU2NvcGVzOiBzdHJpbmdbXX19XG4gICAqL1xuICBwYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpIHtcbiAgICBjb25zdCBhc3NvY2lhdGlvbnMgPSByZXN1bHQuYXNzb2NpYXRpb25zLm1hcCgoe2h1bWFuX25hbWUsIG1vZGVsX2NsYXNzX25hbWUsIHJlZmxlY3Rpb25fbmFtZSwgcmVzb3VyY2V9KSA9PiAoe1xuICAgICAgaHVtYW5OYW1lOiBodW1hbl9uYW1lLFxuICAgICAgbW9kZWxDbGFzc05hbWU6IG1vZGVsX2NsYXNzX25hbWUsXG4gICAgICByZWZsZWN0aW9uTmFtZTogaW5mbGVjdGlvbi5jYW1lbGl6ZShyZWZsZWN0aW9uX25hbWUsIHRydWUpLFxuICAgICAgcmVzb3VyY2VcbiAgICB9KSlcbiAgICBjb25zdCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMgPSBkaWdnKHJlc3VsdCwgXCJyYW5zYWNrYWJsZV9hdHRyaWJ1dGVzXCIpLm1hcCgoe2F0dHJpYnV0ZV9uYW1lOiBhdHRyaWJ1dGVOYW1lLCBodW1hbl9uYW1lOiBodW1hbk5hbWV9KSA9PiAoe1xuICAgICAgYXR0cmlidXRlTmFtZSwgaHVtYW5OYW1lXG4gICAgfSkpXG4gICAgY29uc3QgcmFuc2Fja2FibGVTY29wZXMgPSBkaWdnKHJlc3VsdCwgXCJyYW5zYWNrYWJsZV9zY29wZXNcIilcblxuICAgIHJldHVybiB7YXNzb2NpYXRpb25zLCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMsIHJhbnNhY2thYmxlU2NvcGVzfVxuICB9XG5cbiAgYXN5bmMgbG9hZEFzc29jaWF0aW9ucygpIHtcbiAgICB0aGlzLmluY3JlYXNlTG9hZGluZygpXG5cbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLnMubW9kZWxDbGFzc05hbWUpIHRocm93IG5ldyBFcnJvcihcIidtb2RlbENsYXNzTmFtZScgbm90IHNldCBpbiBzdGF0ZVwiKVxuXG4gICAgICBjb25zdCByZXN1bHQgPSAvKiogQHR5cGUge0Fzc29jaWF0aW9uc1NlcnZpY2VSZXN1bHR9ICovIChcbiAgICAgICAgYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiTW9kZWxzOjpBc3NvY2lhdGlvbnNcIiwge21vZGVsX2NsYXNzX25hbWU6IHRoaXMucy5tb2RlbENsYXNzTmFtZX0pXG4gICAgICApXG4gICAgICBjb25zdCB7YXNzb2NpYXRpb25zLCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMsIHJhbnNhY2thYmxlU2NvcGVzfSA9IHRoaXMucGFyc2VBc3NvY2lhdGlvbkRhdGEocmVzdWx0KVxuXG4gICAgICB0aGlzLnMuYXNzb2NpYXRpb25zID0gYXNzb2NpYXRpb25zXG4gICAgICB0aGlzLnMucmFuc2Fja2FibGVBdHRyaWJ1dGVzID0gcmFuc2Fja2FibGVBdHRyaWJ1dGVzXG4gICAgICB0aGlzLnMucmFuc2Fja2FibGVTY29wZXMgPSByYW5zYWNrYWJsZVNjb3Blc1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmRlY3JlYXNlTG9hZGluZygpXG4gICAgfVxuICB9XG5cbiAgZGVjcmVhc2VMb2FkaW5nID0gKCkgPT4ge1xuICAgIHRoaXMucy5sb2FkaW5nIC09IDFcbiAgfVxuXG4gIGluY3JlYXNlTG9hZGluZyA9ICgpID0+IHtcbiAgICB0aGlzLnMubG9hZGluZyArPSAxXG4gIH1cblxuICBhc3luYyBsb2FkSW5pdGlhbFZhbHVlc1dpdGhMb2FkaW5nSW5kaWNhdG9yKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmluY3JlYXNlTG9hZGluZygpXG4gICAgICBhd2FpdCB0aGlzLmxvYWRJbml0aWFsVmFsdWVzKClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRJbml0aWFsVmFsdWVzKCkge1xuICAgIGlmICghdGhpcy5zLm1vZGVsQ2xhc3NOYW1lKSB0aHJvdyBuZXcgRXJyb3IoXCInbW9kZWxDbGFzc05hbWUnIG5vdCBzZXQgaW4gc3RhdGVcIilcblxuICAgIGxldCByZXN1bHQgPSAvKiogQHR5cGUge0Fzc29jaWF0aW9uc1NlcnZpY2VSZXN1bHR9ICovIChcbiAgICAgIGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIk1vZGVsczo6QXNzb2NpYXRpb25zXCIsIHttb2RlbF9jbGFzc19uYW1lOiB0aGlzLnMubW9kZWxDbGFzc05hbWV9KVxuICAgIClcbiAgICBsZXQgZGF0YSA9IHRoaXMucGFyc2VBc3NvY2lhdGlvbkRhdGEocmVzdWx0KVxuICAgIGxldCBtb2RlbENsYXNzTmFtZSA9IHRoaXMucy5tb2RlbENsYXNzTmFtZVxuICAgIGNvbnN0IHBhdGggPSBbXVxuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiB0aGlzLnByb3BzLmZpbHRlci5wKSB7XG4gICAgICBjb25zdCByZWZsZWN0aW9uID0gZGF0YS5hc3NvY2lhdGlvbnMuZmluZCgoYXNzb2NpYXRpb24pID0+IGRpZ2coYXNzb2NpYXRpb24sIFwicmVmbGVjdGlvbk5hbWVcIikgPT0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwYXRoUGFydCwgdHJ1ZSkpXG5cbiAgICAgIGlmICghcmVmbGVjdGlvbikgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBmaW5kIGFzc29jaWF0aW9uIGJ5IHRoYXQgbmFtZSAke3RoaXMucy5tb2RlbENsYXNzTmFtZX0jJHtwYXRoUGFydH1gKVxuXG4gICAgICBtb2RlbENsYXNzTmFtZSA9IGRpZ2cocmVmbGVjdGlvbiwgXCJtb2RlbENsYXNzTmFtZVwiKVxuXG4gICAgICBpZiAoIW1vZGVsQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNvbnN0IHBhdGhOYW1lcyA9IHBhdGgubWFwKChwYXRoUGFydCkgPT4gcGF0aFBhcnQucmVmbGVjdGlvbk5hbWUpLmpvaW4oXCIuXCIpXG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtb2RlbCBjbGFzcyBuYW1lIGZyb20gJHtwYXRoTmFtZXN9LiR7cmVmbGVjdGlvbi5yZWZsZWN0aW9uTmFtZX1gKVxuICAgICAgfVxuXG4gICAgICByZXN1bHQgPSAvKiogQHR5cGUge0Fzc29jaWF0aW9uc1NlcnZpY2VSZXN1bHR9ICovIChcbiAgICAgICAgYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiTW9kZWxzOjpBc3NvY2lhdGlvbnNcIiwge21vZGVsX2NsYXNzX25hbWU6IG1vZGVsQ2xhc3NOYW1lfSlcbiAgICAgIClcbiAgICAgIGRhdGEgPSB0aGlzLnBhcnNlQXNzb2NpYXRpb25EYXRhKHJlc3VsdClcblxuICAgICAgcGF0aC5wdXNoKHJlZmxlY3Rpb24pXG4gICAgfVxuXG4gICAgY29uc3Qge3JhbnNhY2thYmxlQXR0cmlidXRlc30gPSBkYXRhXG4gICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5wLmZpbHRlci5hXG4gICAgY29uc3QgcmFuc2Fja2FibGVBdHRyaWJ1dGUgPSByYW5zYWNrYWJsZUF0dHJpYnV0ZXMuZmluZCgocmFuc2Fja2FibGVBdHRyaWJ1dGUpID0+IGRpZ2cocmFuc2Fja2FibGVBdHRyaWJ1dGUsIFwiYXR0cmlidXRlTmFtZVwiKSA9PSBhdHRyaWJ1dGUpXG5cbiAgICB0aGlzLnMuYXR0cmlidXRlID0gcmFuc2Fja2FibGVBdHRyaWJ1dGVcbiAgICB0aGlzLnMubW9kZWxDbGFzc05hbWUgPSBtb2RlbENsYXNzTmFtZVxuICAgIHRoaXMucy5wYXRoID0gcGF0aFxuICB9XG5cbiAgYXN5bmMgbG9hZFJhbnNhY2tQcmVkaWNhdGVzKCkge1xuICAgIHRoaXMuaW5jcmVhc2VMb2FkaW5nKClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIlJhbnNhY2s6OlByZWRpY2F0ZXNcIilcbiAgICAgIGNvbnN0IHByZWRpY2F0ZXMgPSBkaWdnKHJlc3BvbnNlLCBcInByZWRpY2F0ZXNcIilcbiAgICAgIGxldCBjdXJyZW50UHJlZGljYXRlXG5cbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbHRlci5wcmUpIHtcbiAgICAgICAgY3VycmVudFByZWRpY2F0ZSA9IHByZWRpY2F0ZXMuZmluZCgocHJlZGljYXRlKSA9PiBwcmVkaWNhdGUubmFtZSA9PSB0aGlzLnByb3BzLmZpbHRlci5wcmUpXG4gICAgICB9XG5cbiAgICAgIHRoaXMucy5wcmVkaWNhdGUgPSBjdXJyZW50UHJlZGljYXRlXG4gICAgICB0aGlzLnMucHJlZGljYXRlcyA9IHByZWRpY2F0ZXNcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7YnJlYWtwb2ludCwgdCwgdmFsdWVJbnB1dFJlZn0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgcGF0aCwgcHJlZGljYXRlLCBwcmVkaWNhdGVzLCBzY29wZSwgdmFsdWV9ID0gdGhpcy5zXG4gICAgY29uc3Qge21kVXB9ID0gYnJlYWtwb2ludFxuICAgIGxldCBzdWJtaXRFbmFibGVkID0gZmFsc2VcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgcHJlZGljYXRlKSB7XG4gICAgICBzdWJtaXRFbmFibGVkID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoc2NvcGUpIHtcbiAgICAgIHN1Ym1pdEVuYWJsZWQgPSB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDYXJkXG4gICAgICAgIHRlc3RJRD1cImFwaS1tYWtlci90YWJsZS9maWx0ZXJzL2ZpbHRlci1mb3JtXCJcbiAgICAgICAgc3R5bGU9e3N0eWxlc1tgY2FyZC0ke21kVXB9YF0gfHw9IHtcbiAgICAgICAgICB3aWR0aDogbWRVcCA/IHVuZGVmaW5lZCA6IFwiMTAwJVwiLFxuICAgICAgICAgIG1pbldpZHRoOiA1MCxcbiAgICAgICAgICBtaW5IZWlnaHQ6IDUwXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxGb3JtIG9uU3VibWl0PXt0aGlzLnR0Lm9uU3VibWl0fT5cbiAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzLnBhdGhSb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wifX0+XG4gICAgICAgICAgICB7cGF0aC5tYXAoKHtodW1hbk5hbWUsIHJlZmxlY3Rpb25OYW1lfSwgcGF0aFBhcnRJbmRleCkgPT5cbiAgICAgICAgICAgICAgPFZpZXcga2V5PXtgJHtwYXRoUGFydEluZGV4fS0ke3JlZmxlY3Rpb25OYW1lfWB9IHN0eWxlPXtzdHlsZXMucGF0aEl0ZW1Sb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wifX0+XG4gICAgICAgICAgICAgICAge3BhdGhQYXJ0SW5kZXggPiAwICYmXG4gICAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLnBhdGhTZXBhcmF0b3IgfHw9IHttYXJnaW5SaWdodDogNSwgbWFyZ2luTGVmdDogNX19PlxuICAgICAgICAgICAgICAgICAgICAtXG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAge2h1bWFuTmFtZX1cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXNbYGZpbHRlcnNSb3ctJHttZFVwfWBdIHx8PSB7ZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwifX0+XG4gICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2ByZWxhdGlvbnNoaXBzQ29sdW1uLSR7bWRVcH1gXSB8fD0ge21hcmdpblRvcDogbWRVcCA/IHVuZGVmaW5lZCA6IDI1fX0+XG4gICAgICAgICAgICAgIDxIZWFkZXI+XG4gICAgICAgICAgICAgICAge3QoXCIucmVsYXRpb25zaGlwc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlJlbGF0aW9uc2hpcHNcIn0pfVxuICAgICAgICAgICAgICA8L0hlYWRlcj5cbiAgICAgICAgICAgICAge3RoaXMucy5hc3NvY2lhdGlvbnMgJiYgdGhpcy5zb3J0ZWRSZWZsZWN0aW9uc0J5TmFtZSh0aGlzLnMuYXNzb2NpYXRpb25zKS5tYXAoKHJlZmxlY3Rpb24pID0+XG4gICAgICAgICAgICAgICAgPFJlZmxlY3Rpb25FbGVtZW50XG4gICAgICAgICAgICAgICAgICBrZXk9e3JlZmxlY3Rpb24ucmVmbGVjdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICBtb2RlbENsYXNzTmFtZT17dGhpcy5zLm1vZGVsQ2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy50dC5vblJlZmxlY3Rpb25DbGlja2VkfVxuICAgICAgICAgICAgICAgICAgcmVmbGVjdGlvbj17cmVmbGVjdGlvbn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlc1tgYXR0cmlidXRlc0NvbHVtbi0ke21kVXB9YF0gfHw9IHttYXJnaW5Ub3A6IG1kVXAgPyB1bmRlZmluZWQgOiAyNX19PlxuICAgICAgICAgICAgICA8SGVhZGVyPlxuICAgICAgICAgICAgICAgIHt0KFwiLmF0dHJpYnV0ZXNcIiwge2RlZmF1bHRWYWx1ZTogXCJBdHRyaWJ1dGVzXCJ9KX1cbiAgICAgICAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgICAgICAgIHt0aGlzLnMucmFuc2Fja2FibGVBdHRyaWJ1dGVzICYmIHRoaXMuc29ydGVkQXR0cmlidXRlc0J5TmFtZSh0aGlzLnMucmFuc2Fja2FibGVBdHRyaWJ1dGVzKT8ubWFwKChhdHRyaWJ1dGUpID0+XG4gICAgICAgICAgICAgICAgPEF0dHJpYnV0ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17YXR0cmlidXRlLmF0dHJpYnV0ZU5hbWUgPT0gdGhpcy5zLmF0dHJpYnV0ZT8uYXR0cmlidXRlTmFtZX1cbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZT17YXR0cmlidXRlfVxuICAgICAgICAgICAgICAgICAga2V5PXthdHRyaWJ1dGUuYXR0cmlidXRlTmFtZX1cbiAgICAgICAgICAgICAgICAgIG1vZGVsQ2xhc3NOYW1lPXt0aGlzLnMubW9kZWxDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uQXR0cmlidXRlQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7dGhpcy5zLnJhbnNhY2thYmxlU2NvcGVzPy5tYXAoKHNjb3BlKSA9PlxuICAgICAgICAgICAgICAgIDxTY29wZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17c2NvcGUgPT0gdGhpcy5zLnNjb3BlfVxuICAgICAgICAgICAgICAgICAga2V5PXtzY29wZX1cbiAgICAgICAgICAgICAgICAgIHNjb3BlPXtzY29wZX1cbiAgICAgICAgICAgICAgICAgIG9uU2NvcGVDbGlja2VkPXt0aGlzLnR0Lm9uU2NvcGVDbGlja2VkfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2BzZWFyY2hDb2x1bW4tJHttZFVwfWBdIHx8PSB7bWFyZ2luVG9wOiBtZFVwID8gdW5kZWZpbmVkIDogMjV9fT5cbiAgICAgICAgICAgICAgPEhlYWRlcj5cbiAgICAgICAgICAgICAgICB7dChcIi5zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJTZWFyY2hcIn0pfVxuICAgICAgICAgICAgICA8L0hlYWRlcj5cbiAgICAgICAgICAgICAgPFZpZXc+XG4gICAgICAgICAgICAgICAge3ByZWRpY2F0ZXMgJiYgIXRoaXMucy5zY29wZSAmJlxuICAgICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwcmVkaWNhdGUtc2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtwcmVkaWNhdGU/Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIGluY2x1ZGVCbGFua1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5vblByZWRpY2F0ZUNoYW5nZWR9XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3ByZWRpY2F0ZXMubWFwKChwcmVkaWNhdGUpID0+IGRpZ2cocHJlZGljYXRlLCBcIm5hbWVcIikpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5zZWFyY2hJbnB1dENvbnRhaW5lciB8fD0ge21hcmdpblRvcDogMTB9fT5cbiAgICAgICAgICAgICAgICB7KChhdHRyaWJ1dGUgJiYgcHJlZGljYXRlKSB8fCBzY29wZSkgJiZcbiAgICAgICAgICAgICAgICAgIDxJbnB1dCBjbGFzc05hbWU9XCJ2YWx1ZS1pbnB1dFwiIGRlZmF1bHRWYWx1ZT17dmFsdWV9IGlucHV0UmVmPXt2YWx1ZUlucHV0UmVmfSAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzLmFjdGlvbnNSb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBqdXN0aWZ5Q29udGVudDogXCJlbmRcIiwgbWFyZ2luVG9wOiAxMH19PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBkYW5nZXJcbiAgICAgICAgICAgICAgaWNvbj1cInJlbW92ZVwiXG4gICAgICAgICAgICAgIGxhYmVsPXt0KFwiLmNhbmNlbFwiLCB7ZGVmYXVsdFZhbHVlOiBcIkNhbmNlbFwifSl9XG4gICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMucC5vblJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgICAgcHJlc3NhYmxlUHJvcHM9e3RoaXMuY2FjaGUoXCJjYW5jZWxCdXR0b25QcmVzc2FibGVQcm9wc1wiLCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IDVcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBkaXNhYmxlZD17IXN1Ym1pdEVuYWJsZWR9XG4gICAgICAgICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICAgICAgICAgIGxhYmVsPXt0KFwiLmFwcGx5XCIsIHtkZWZhdWx0VmFsdWU6IFwiQXBwbHlcIn0pfVxuICAgICAgICAgICAgICBwcmVzc2FibGVQcm9wcz17dGhpcy5jYWNoZShcImFwcGxlQnV0dG9uUHJlc3NhYmxlUHJvcHNcIiwge1xuICAgICAgICAgICAgICAgIHN0eWxlOiB7bWFyZ2luTGVmdDogNX0sXG4gICAgICAgICAgICAgICAgdGVzdElEOiBcImFwcGx5LWZpbHRlci1idXR0b25cIlxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgc3VibWl0XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgPC9Gb3JtPlxuICAgICAgICB7dGhpcy5zLmxvYWRpbmcgPiAwICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMubG9hZGluZ092ZXJsYXkgfHw9IHtcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIlxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QWN0aXZpdHlJbmRpY2F0b3Igc2l6ZT1cImxhcmdlXCIgLz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvQ2FyZD5cbiAgICApXG4gIH1cblxuICBjdXJyZW50TW9kZWxDbGFzc0Zyb21QYXRoKHBhdGgpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnBcbiAgICBsZXQgY3VycmVudE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHBhdGgpIHtcbiAgICAgIGNvbnN0IGNhbWVsaXplZFBhdGhQYXJ0ID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwYXRoUGFydCwgdHJ1ZSlcbiAgICAgIGNvbnN0IGFzc29jaWF0aW9uID0gY3VycmVudE1vZGVsQ2xhc3MucmFuc2Fja2FibGVBc3NvY2lhdGlvbnMoKS5maW5kKChyZWZsZWN0aW9uKSA9PiByZWZsZWN0aW9uLm5hbWUoKSA9PSBjYW1lbGl6ZWRQYXRoUGFydClcblxuICAgICAgaWYgKCFhc3NvY2lhdGlvbikge1xuICAgICAgICBjb25zdCByYW5zYWNrYWJsZUFzc29jaWF0aW9uTmFtZXMgPSBjdXJyZW50TW9kZWxDbGFzcy5yYW5zYWNrYWJsZUFzc29jaWF0aW9ucygpLm1hcCgocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5uYW1lKCkpLmpvaW4oXCIsIFwiKVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgYSBSYW5zYWNrYWJsZSBhc3NvY2lhdGlvbiBieSB0aGF0IG5hbWU6ICR7Y2FtZWxpemVkUGF0aFBhcnR9IGluICR7cmFuc2Fja2FibGVBc3NvY2lhdGlvbk5hbWVzfWApXG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRNb2RlbENsYXNzID0gYXNzb2NpYXRpb24ubW9kZWxDbGFzcygpXG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRNb2RlbENsYXNzXG4gIH1cblxuICBjdXJyZW50UGF0aFBhcnRzKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMuc1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdXG4gICAgbGV0IGN1cnJlbnRNb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuXG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgbW9kZWxDbGFzcyxcbiAgICAgIHRyYW5zbGF0aW9uOiBtb2RlbENsYXNzLm1vZGVsTmFtZSgpLmh1bWFuKHtjb3VudDogMn0pXG4gICAgfSlcblxuICAgIGZvciAoY29uc3QgcGF0aFBhcnQgb2YgcGF0aCkge1xuICAgICAgY29uc3QgY2FtZWxpemVkUGF0aFBhcnQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHBhdGhQYXJ0LCB0cnVlKVxuICAgICAgY29uc3QgcGF0aFBhcnRUcmFuc2xhdGlvbiA9IGN1cnJlbnRNb2RlbENsYXNzLmh1bWFuQXR0cmlidXRlTmFtZShjYW1lbGl6ZWRQYXRoUGFydClcblxuICAgICAgY3VycmVudE1vZGVsQ2xhc3MgPSBjdXJyZW50TW9kZWxDbGFzcy5yYW5zYWNrYWJsZUFzc29jaWF0aW9ucygpLmZpbmQoKHJlZmxlY3Rpb24pID0+IHJlZmxlY3Rpb24ubmFtZSgpID09IGNhbWVsaXplZFBhdGhQYXJ0KS5tb2RlbENsYXNzKClcblxuICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICBtb2RlbENsYXNzOiBjdXJyZW50TW9kZWxDbGFzcyxcbiAgICAgICAgdHJhbnNsYXRpb246IHBhdGhQYXJ0VHJhbnNsYXRpb25cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgLyoqIEBwYXJhbSB7e2F0dHJpYnV0ZTogRmlsdGVyQXR0cmlidXRlfX0gcm9vdDAgKi9cbiAgb25BdHRyaWJ1dGVDbGlja2VkID0gKHthdHRyaWJ1dGV9KSA9PiB7XG4gICAgdGhpcy5zLmF0dHJpYnV0ZSA9IGF0dHJpYnV0ZVxuICAgIHRoaXMucy5zY29wZSA9IHVuZGVmaW5lZFxuICB9XG5cbiAgb25QcmVkaWNhdGVDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBjb25zdCBjaG9zZW5QcmVkaWNhdGVOYW1lID0gZGlnZyhlLCBcInRhcmdldFwiLCBcInZhbHVlXCIpXG4gICAgY29uc3QgcHJlZGljYXRlID0gdGhpcy5zLnByZWRpY2F0ZXMuZmluZCgocHJlZGljYXRlKSA9PiBwcmVkaWNhdGUubmFtZSA9PSBjaG9zZW5QcmVkaWNhdGVOYW1lKVxuXG4gICAgdGhpcy5zLnByZWRpY2F0ZSA9IHByZWRpY2F0ZVxuICB9XG5cbiAgLyoqIEBwYXJhbSB7e3JlZmxlY3Rpb246IEZpbHRlclJlZmxlY3Rpb259fSByb290MCAqL1xuICBvblJlZmxlY3Rpb25DbGlja2VkID0gKHtyZWZsZWN0aW9ufSkgPT4ge1xuICAgIGNvbnN0IG5ld1BhdGggPSB0aGlzLnMucGF0aC5jb25jYXQoW3JlZmxlY3Rpb25dKVxuXG4gICAgdGhpcy5zLmFzc29jaWF0aW9ucyA9IG51bGxcbiAgICB0aGlzLnMuYXR0cmlidXRlID0gdW5kZWZpbmVkXG4gICAgdGhpcy5zLmFjdHVhbEN1cnJlbnRNb2RlbENsYXNzID0ge21vZGVsQ2xhc3M6IGRpZ2cocmVmbGVjdGlvbiwgXCJyZXNvdXJjZVwiKX1cbiAgICB0aGlzLnMubW9kZWxDbGFzc05hbWUgPSBkaWdnKHJlZmxlY3Rpb24sIFwibW9kZWxDbGFzc05hbWVcIilcbiAgICB0aGlzLnMucGF0aCA9IG5ld1BhdGhcbiAgICB0aGlzLnMucHJlZGljYXRlID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKiogQHBhcmFtIHt7c2NvcGU6IHN0cmluZ319IHJvb3QwICovXG4gIG9uU2NvcGVDbGlja2VkID0gKHtzY29wZX0pID0+IHtcbiAgICB0aGlzLnMuYXR0cmlidXRlID0gdW5kZWZpbmVkXG4gICAgdGhpcy5zLnByZWRpY2F0ZSA9IHVuZGVmaW5lZFxuICAgIHRoaXMucy5zY29wZSA9IHNjb3BlXG4gIH1cblxuICBvblN1Ym1pdCA9ICgpID0+IHtcbiAgICBjb25zdCB7ZmlsdGVyLCBxdWVyeVNlYXJjaE5hbWV9ID0gdGhpcy5wXG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgcGF0aCwgcHJlZGljYXRlLCBzY29wZX0gPSB0aGlzLnNcbiAgICBjb25zdCB7ZmlsdGVySW5kZXh9ID0gZGlncyhmaWx0ZXIsIFwiZmlsdGVySW5kZXhcIilcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBQYXJhbXMucGFyc2UoKVtxdWVyeVNlYXJjaE5hbWVdIHx8IHt9XG4gICAgY29uc3QgdmFsdWUgPSBkaWdnKHRoaXMudHQudmFsdWVJbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBwID0gcGF0aC5tYXAoKHJlZmxlY3Rpb24pID0+IGluZmxlY3Rpb24udW5kZXJzY29yZShyZWZsZWN0aW9uLnJlZmxlY3Rpb25OYW1lKSlcbiAgICBjb25zdCBuZXdTZWFyY2hQYXJhbXMgPSB7XG4gICAgICBwLFxuICAgICAgdjogdmFsdWVcbiAgICB9XG5cbiAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICBuZXdTZWFyY2hQYXJhbXMuYSA9IGRpZ2coYXR0cmlidXRlLCBcImF0dHJpYnV0ZU5hbWVcIilcbiAgICAgIG5ld1NlYXJjaFBhcmFtcy5wcmUgPSBkaWdnKHByZWRpY2F0ZSwgXCJuYW1lXCIpXG4gICAgfSBlbHNlIGlmIChzY29wZSkge1xuICAgICAgbmV3U2VhcmNoUGFyYW1zLnNjID0gc2NvcGVcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRG9udCBrbm93IGlmIHNob3VsZCBzZWFyY2ggZm9yIGF0dHJpYnV0ZSBvciBzY29wZT9cIilcbiAgICB9XG5cbiAgICBzZWFyY2hQYXJhbXNbZmlsdGVySW5kZXhdID0gSlNPTi5zdHJpbmdpZnkobmV3U2VhcmNoUGFyYW1zKVxuXG4gICAgY29uc3QgbmV3UGFyYW1zID0ge31cblxuICAgIG5ld1BhcmFtc1txdWVyeVNlYXJjaE5hbWVdID0gc2VhcmNoUGFyYW1zXG5cbiAgICBQYXJhbXMuY2hhbmdlUGFyYW1zKG5ld1BhcmFtcylcblxuICAgIHRoaXMucHJvcHMub25BcHBseUNsaWNrZWQoKVxuICB9XG5cbiAgcmVmbGVjdGlvbnNXaXRoTW9kZWxDbGFzcyhyZWZsZWN0aW9ucykge1xuICAgIHJldHVybiByZWZsZWN0aW9ucy5maWx0ZXIoKHJlZmxlY3Rpb24pID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlZmxlY3Rpb24ubW9kZWxDbGFzcygpXG5cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzb3J0ZWRBdHRyaWJ1dGVzQnlOYW1lKGF0dHJpYnV0ZXMpIHtcbiAgICByZXR1cm4gYXR0cmlidXRlcy5zb3J0KChhLCBiKSA9PlxuICAgICAgZGlnZyhhLCBcImh1bWFuTmFtZVwiKVxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAubG9jYWxlQ29tcGFyZShcbiAgICAgICAgICBkaWdnKGIsIFwiaHVtYW5OYW1lXCIpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHNvcnRlZFJlZmxlY3Rpb25zQnlOYW1lKHJlZmxlY3Rpb25zKSB7XG4gICAgcmV0dXJuIHJlZmxlY3Rpb25zLnNvcnQoKGEsIGIpID0+XG4gICAgICBkaWdnKGEsIFwiaHVtYW5OYW1lXCIpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5sb2NhbGVDb21wYXJlKFxuICAgICAgICAgIGRpZ2coYiwgXCJodW1hbk5hbWVcIikudG9Mb3dlckNhc2UoKVxuICAgICAgICApXG4gICAgKVxuICB9XG59KSlcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/src/","sources":["table/filters/index.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgM04sB,CAAC;;;yBAA6O,CAAC;;;;;;;gBAAoc,CAAC;;;;;yBAAm7E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA5Kp+yB,SAAS,GAAG;IAAC,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC;IAAC,cAAc,IAAI;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAA;CAAC;+BACrE,SAAS,GAAG;IAAC,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,IAAI,MAAM,CAAC;IAAC,WAAW,IAAI,MAAM,EAAE,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC;+BACtG;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;;kBAI7F,gBAAgB;gBAChB,cAAc,qBAAqB,EAAE,OAAO;eAC5C,MAAM;gBACN,MAAM;;;YAIN,gBAAgB,GAAG,SAAS;yBAC5B,OAAO,GAAG,SAAS;yBACnB,KAAK,GAAG,gBAAgB,GAAG,SAAS;;kBArBhC,OAAO"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/src/","sources":["table/filters/index.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAoM49sB,CAAC;;;yBAA6O,CAAC;;;;;;;gBAAoc,CAAC;;;;;yBAAm7E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAhLtjzB,SAAS,GAAG;IAAC,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC;IAAC,cAAc,IAAI;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAA;CAAC;+BACrE,SAAS,GAAG;IAAC,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,IAAI,MAAM,CAAC;IAAC,WAAW,IAAI,MAAM,EAAE,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC;+BACtG;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;;kBAI7F,gBAAgB;gBAChB,cAAc,qBAAqB,EAAE,OAAO;eAC5C,MAAM;gBACN,MAAM;;;YAIN,gBAAgB,GAAG,SAAS;yBAC5B,OAAO,GAAG,SAAS;yBACnB,KAAK,GAAG,gBAAgB,GAAG,SAAS;;kBArBhC,OAAO"}