@agilemotion/oui-react-js 2.0.13 → 2.0.15

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.
@@ -39,6 +39,25 @@ const host = window.location.protocol + "//" + window.location.hostname;
39
39
  const REGISTRATION_TYPE_TO_VIEW = {
40
40
  vendor: '/portal/views/registration/registration-vendor.json'
41
41
  };
42
+
43
+ // EULA-standard footer links. The agreement HTML files are hosted under
44
+ // /agreements/<orgCode>/<doc>.html (served by nginx in prod / Spring
45
+ // static-resource mapping in dev). New legal documents add an entry
46
+ // here. When acceptance-checkbox capture lands in the wizard, switch
47
+ // these URLs to versioned paths (e.g. terms-of-service/v1.html).
48
+ const FOOTER_LINKS = [{
49
+ label: 'Terms of Service',
50
+ file: 'terms-of-service.html'
51
+ }, {
52
+ label: 'Privacy Policy',
53
+ file: 'privacy-policy.html'
54
+ }, {
55
+ label: 'Cookie Notice',
56
+ file: 'cookie-notice.html'
57
+ }, {
58
+ label: 'POPIA Notice',
59
+ file: 'popia-notice.html'
60
+ }];
42
61
  const RegisterInteractionPortal = props => {
43
62
  const navigate = (0, _reactRouterDom.useNavigate)();
44
63
  // The :type route segment (e.g. 'vendor'). Falls back to 'vendor'
@@ -61,6 +80,9 @@ const RegisterInteractionPortal = props => {
61
80
  setError("Registration type \"".concat(type, "\" is not supported."));
62
81
  return;
63
82
  }
83
+
84
+ // Hardcoded tenant for now until tenant resolution is implemented
85
+ _ApplicationManager.default.setActiveTenant('COJ');
64
86
  _ApplicationManager.default.setServiceApiPath(props.implConfig.serviceApiPath);
65
87
  _ApplicationManager.default.setUIConfigPath(props.implConfig.uiConfigPath);
66
88
  _ApplicationManager.default.setContextRoot(props.contextRoot);
@@ -71,14 +93,34 @@ const RegisterInteractionPortal = props => {
71
93
 
72
94
  // Public CDUI fetch — hits the unprotected endpoint we added
73
95
  // to oui-server (whitelisted in ResourceServerConfig). The
74
- // returned JSON is wrapped into the {config, parameters, parent,
75
- // handle.api} envelope expected by addView (mirrors the pattern
76
- // in RouteActionHandler.execute) and registered against the
77
- // 'main' context so the ViewPort below resolves it when it
78
- // lands on /view/<viewId>.
79
- (0, _RestUtils.sendRequest)(host + _ApplicationManager.default.getContextRoot() + '/ui/api/v1/view/public/get?version=1.0&id=' + encodeURIComponent(viewPath), data => {
80
- // graph (wizard) AND view (single page) are both addable.
81
- if (data && (data.type === 'view' || data.type === 'graph')) {
96
+ // returned JSON is dispatched the same way RouteActionHandler
97
+ // does it: single-page `view` addView + navigate; multi-step
98
+ // `graph` loadGraph (which owns stepper state + first-node
99
+ // routing). Mixing them up routes a graph through addView and
100
+ // leaves the wizard nodes unreachable.
101
+ (0, _RestUtils.sendRequest)(host + _ApplicationManager.default.getContextRoot() + '/ui/api/v1/view/public/get?version=1.0&id=' + viewPath, data => {
102
+ // sendRequest auto-decodes the {_cdui_z} wire wrap for
103
+ // /ui/api/v*/ URLs data here is the raw view config.
104
+ if (!data) {
105
+ console.error('Public registration view fetch returned empty payload');
106
+ setError('Registration view could not be loaded.');
107
+ return;
108
+ }
109
+ if (data.type === 'graph') {
110
+ // Mirror RouteActionHandler's graph branch: hand the
111
+ // raw config to loadGraph, which manages internal
112
+ // node navigation. No manual navigate here —
113
+ // loadGraph routes to the first node itself.
114
+ data.isWindow = false;
115
+ _ApplicationManager.default.loadGraph(true, data, [], 'main');
116
+ setViewLoaded(true);
117
+ } else if (data.type === 'view') {
118
+ // Single-page view: build the envelope and register
119
+ // it on the 'main' context, then navigate to the
120
+ // type-scoped register route so the ViewPort
121
+ // resolves it. Mirrors RouteActionHandler's view
122
+ // branch, with the register-portal URL pattern
123
+ // (/register/:type/:id) substituted for /view/:id.
82
124
  const defaultModel = {};
83
125
  const view = {
84
126
  config: data,
@@ -108,7 +150,7 @@ const RegisterInteractionPortal = props => {
108
150
  setViewLoaded(true);
109
151
  _ApplicationManager.default.navigate('/register/' + type + '/' + data.id);
110
152
  } else {
111
- console.error('Public registration view fetch returned unexpected payload', data);
153
+ console.error('Public registration view fetch returned unexpected type', data.type, data);
112
154
  setError('Registration view could not be loaded.');
113
155
  }
114
156
  }, e => {
@@ -149,10 +191,24 @@ const RegisterInteractionPortal = props => {
149
191
  }
150
192
  }, "Back to login")));
151
193
  }
194
+
195
+ // Tenant code that scopes the agreement-asset path. Default to 'coj'
196
+ // until implConfig.orgCode is plumbed through from the portal config
197
+ // endpoint — the existing pages live under /agreements/coj/.
198
+ const orgCode = (props.implConfig && props.implConfig.orgCode ? String(props.implConfig.orgCode) : 'coj').toLowerCase();
199
+ const agreementBase = window.location.origin + '/agreements/' + orgCode;
152
200
  return /*#__PURE__*/_react.default.createElement("div", {
153
- className: "main w-100 h-100 d-inline-block coj-skin"
201
+ className: "main w-100 h-100 d-inline-block coj-skin",
202
+ style: {
203
+ display: 'flex',
204
+ flexDirection: 'column'
205
+ }
154
206
  }, /*#__PURE__*/_react.default.createElement("div", {
155
- className: "w-100 h-100"
207
+ style: {
208
+ flex: '1 1 auto',
209
+ minHeight: 'calc(100vh - 72px)',
210
+ position: 'relative'
211
+ }
156
212
  }, /*#__PURE__*/_react.default.createElement(_react2.ThemeProvider, {
157
213
  theme: (0, _material.createTheme)({
158
214
  palette: {
@@ -208,9 +264,39 @@ const RegisterInteractionPortal = props => {
208
264
  landingPage: "NONE",
209
265
  style: {
210
266
  width: '100%',
211
- height: '100%'
267
+ height: 'calc(100% - 72px)',
268
+ position: 'fixed'
269
+ }
270
+ })))), /*#__PURE__*/_react.default.createElement("footer", {
271
+ style: {
272
+ flexShrink: 0,
273
+ padding: '16px 24px',
274
+ background: '#ffffff',
275
+ borderTop: '1px solid #e6eaf0',
276
+ fontSize: '13px',
277
+ color: '#6b7785',
278
+ textAlign: 'center'
279
+ }
280
+ }, /*#__PURE__*/_react.default.createElement("div", {
281
+ style: {
282
+ display: 'flex',
283
+ justifyContent: 'center',
284
+ gap: '24px',
285
+ flexWrap: 'wrap',
286
+ marginBottom: '6px'
287
+ }
288
+ }, FOOTER_LINKS.map(link => /*#__PURE__*/_react.default.createElement("a", {
289
+ key: link.file,
290
+ href: agreementBase + '/' + link.file,
291
+ target: "_blank",
292
+ CAn: true,
293
+ rel: "noopener noreferrer",
294
+ style: {
295
+ color: '#1a3c5e',
296
+ textDecoration: 'none',
297
+ fontWeight: 500
212
298
  }
213
- })))));
299
+ }, link.label))), /*#__PURE__*/_react.default.createElement("div", null, "\xA9 ", new Date().getFullYear(), " City of Johannesburg. All rights reserved.")));
214
300
  };
215
301
  var _default = exports.default = RegisterInteractionPortal;
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9tYXRlcmlhbCIsIl9UaGVtZVByb3ZpZGVyIiwiX3JlYWN0MiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfVmlld1BvcnQiLCJfTG9hZGluZ0luZGljYXRvciIsIl9VdGlscyIsIl9SZXN0VXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJob3N0Iiwid2luZG93IiwibG9jYXRpb24iLCJwcm90b2NvbCIsImhvc3RuYW1lIiwiUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyIsInZlbmRvciIsIlJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwiLCJwcm9wcyIsIm5hdmlnYXRlIiwidXNlTmF2aWdhdGUiLCJ0eXBlIiwicmF3VHlwZSIsInVzZVBhcmFtcyIsInRvTG93ZXJDYXNlIiwidmlld1BhdGgiLCJ2aWV3TG9hZGVkIiwic2V0Vmlld0xvYWRlZCIsIlJlYWN0IiwidXNlU3RhdGUiLCJlcnJvciIsInNldEVycm9yIiwidXNlRWZmZWN0IiwiY29uY2F0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsImltcGxDb25maWciLCJzZXJ2aWNlQXBpUGF0aCIsInNldFVJQ29uZmlnUGF0aCIsInVpQ29uZmlnUGF0aCIsInNldENvbnRleHRSb290IiwiY29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImVuY29kZVVSSUNvbXBvbmVudCIsImRhdGEiLCJkZWZhdWx0TW9kZWwiLCJ2aWV3IiwiY29uZmlnIiwicGFyYW1ldGVycyIsInBhcmVudCIsImhhbmRsZSIsImFwaSIsImlkIiwibW9kZWwiLCJnZXRDaGlsZCIsInVwZGF0ZU1vZGVsIiwidmFsdWVzIiwiVXRpbHMiLCJzZXRNb2RlbFZhbHVlIiwia2V5IiwidmFsdWUiLCJnZXRNb2RlbFZhbHVlIiwibG9hZGVkIiwiYWRkVmlldyIsImNvbnNvbGUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwibWF4V2lkdGgiLCJwYWRkaW5nIiwidGV4dEFsaWduIiwiY29sb3IiLCJtYXJnaW4iLCJocmVmIiwidGV4dERlY29yYXRpb24iLCJmb250V2VpZ2h0IiwiVGhlbWVQcm92aWRlciIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJwcmltYXJ5Q29sb3IiLCJzZWNvbmRhcnkiLCJzZWNvbmRhcnlDb2xvciIsImNvbXBvbmVudHMiLCJNdWlDc3NCYXNlbGluZSIsInN0eWxlT3ZlcnJpZGVzIiwiYm9keSIsInNjcm9sbGJhckNvbG9yIiwic2Nyb2xsYmFyV2lkdGgiLCJ3aWR0aCIsImhlaWdodCIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJ0cmFuc2l0aW9uIiwiQ3NzQmFzZWxpbmUiLCJ3aW5kb3dQaW5uZWQiLCJtZW51T2Zmc2V0IiwibGFuZGluZ1BhZ2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZpZXcvc2VjdXJpdHkvUmVnaXN0ZXJJbnRlcmFjdGlvblBvcnRhbC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHt1c2VOYXZpZ2F0ZSwgdXNlUGFyYW1zfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHtjcmVhdGVUaGVtZSwgQ3NzQmFzZWxpbmV9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgVGhlbWVQcm92aWRlciBmcm9tIFwiQG11aS9zdHlsZXMvVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtUaGVtZVByb3ZpZGVyIGFzIEVtb3Rpb25UaGVtZVByb3ZpZGVyfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcblxuaW1wb3J0IGFwcGxpY2F0aW9NYW5hZ2VyIGZyb20gXCIuLi8uLi9BcHBsaWNhdGlvbk1hbmFnZXJcIjtcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IFZpZXdQb3J0IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2xheW91dC9WaWV3UG9ydFwiO1xuaW1wb3J0IExvYWRpbmdJbmRpY2F0b3IgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9hZGluZ0luZGljYXRvclwiO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuLi8uLi9VdGlsc1wiO1xuaW1wb3J0IHtzZW5kUmVxdWVzdH0gZnJvbSBcIi4uLy4uL1Jlc3RVdGlsc1wiO1xuXG4vLyBIb3N0bmFtZSBvbmx5IOKAlCBtYXRjaGVzIHRoZSBVUkwtY29uc3RydWN0aW9uIHN0eWxlIGluXG4vLyBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanMuIGNvbnRleHQtcm9vdCArIHNlcnZpY2UgcGF0aCBnZXQgYXBwZW5kZWRcbi8vIHdoZW4gdGhlIGFjdHVhbCByZXF1ZXN0IGlzIGJ1aWx0LlxuY29uc3QgaG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtcblxuLyoqXG4gKiBTa2VsZXRvbiBmb3IgdGhlIHJlZ2lzdHJhdGlvbiBwb3J0YWwg4oCUIHdpcmVzIHRoZSBBcHBsaWNhdGlvbk1hbmFnZXIsXG4gKiB0aGUgZHVhbCBFbW90aW9uL01VSSB0aGVtZSBwcm92aWRlcnMsIGFuZCBhIENEVUkge0BsaW5rIFZpZXdQb3J0fS5cbiAqIFRoZSBhY3R1YWwgcmVnaXN0cmF0aW9uIHZpZXcgbGFuZHMgaW4gYSBmb2xsb3ctdXAgc3ByaW50XG4gKiAoc3BlYy9yZWdpc3RyYXRpb24ubWQgwqcyKS4gTWlycm9ycyB7QGNvZGUgSW50ZXJhY3Rpb25Qb3J0YWxBcHBIb21lLmpzfVxuICogZm9yIHRoZW1lICsgbWFuYWdlciBpbml0IGJ1dCBvbWl0cyB0aGUge0Bjb2RlIC9zeXN0ZW0vc2V0dXB9IGFuZFxuICoge0Bjb2RlIC9hdXRoL3VzZXIvZmluZH0gZW5kcG9pbnRzIOKAlCB0aGUgcmVnaXN0cmF0aW9uIGZsb3cgcnVuc1xuICogdW5hdXRoZW50aWNhdGVkIGFuZCB0aGVyZSBpcyBubyBsb2dnZWQtaW4gdXNlciB0byBsb29rIHVwLlxuICpcbiAqIDxwPkJlY2F1c2Ugbm8ge0Bjb2RlIGRhc2hib2FyZFNldHRpbmdzfSBpcyBsb2FkZWQgaGVyZSAobm8gYXV0aCksIGJvdGhcbiAqIHRoZSBFbW90aW9uIG91dGVyIGFuZCBNYXRlcmlhbCBpbm5lciB0aGVtZXMgYXJlIHNlZWRlZCBmcm9tXG4gKiB7QGNvZGUgcHJvcHMuaW1wbENvbmZpZy5wcmltYXJ5Q29sb3IgLyBzZWNvbmRhcnlDb2xvcn0g4oCUIHRoZSBzYW1lXG4gKiBmYWxsYmFjayB0aGUgbG9naW4gcG9ydGFsIHVzZXMuXG4gKi9cbi8vIFR5cGUtc2NvcGVkIHJlZ2lzdHJhdGlvbjogZWFjaCB0eXBlIGhhcyBpdHMgb3duIHdpemFyZCBKU09OIHVuZGVyXG4vLyAvcG9ydGFsL3ZpZXdzL3JlZ2lzdHJhdGlvbi8uIE5ldyB0eXBlcyBhZGQgYW4gZW50cnkgaGVyZS5cbmNvbnN0IFJFR0lTVFJBVElPTl9UWVBFX1RPX1ZJRVcgPSB7XG4gICAgdmVuZG9yOiAnL3BvcnRhbC92aWV3cy9yZWdpc3RyYXRpb24vcmVnaXN0cmF0aW9uLXZlbmRvci5qc29uJyxcbn07XG5cbmNvbnN0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgLy8gVGhlIDp0eXBlIHJvdXRlIHNlZ21lbnQgKGUuZy4gJ3ZlbmRvcicpLiBGYWxscyBiYWNrIHRvICd2ZW5kb3InXG4gICAgLy8gd2hlbiB0aGUgcm91dGUgaGFzIG5vIHR5cGUgc2VnbWVudCB5ZXQg4oCUIGtlZXBzIGEgYmFyZSAvcmVnaXN0ZXJcbiAgICAvLyByZXF1ZXN0IHdvcmtpbmcgZHVyaW5nIHRoZSByb2xsb3V0IHdpbmRvdy5cbiAgICBjb25zdCB7dHlwZTogcmF3VHlwZX0gPSB1c2VQYXJhbXMoKTtcbiAgICBjb25zdCB0eXBlID0gKHJhd1R5cGUgfHwgJ3ZlbmRvcicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgdmlld1BhdGggPSBSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXW3R5cGVdO1xuXG4gICAgLy8gR2F0ZXMgdGhlIHJlbmRlciDigJQgYmxvY2sgdGhlIFZpZXdQb3J0IG1vdW50IHVudGlsIHRoZSB3aXphcmRcbiAgICAvLyB2aWV3IEpTT04gaGFzIGJlZW4gZmV0Y2hlZCBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZVxuICAgIC8vIEFwcGxpY2F0aW9uTWFuYWdlciwgb3RoZXJ3aXNlIHRoZSBDRFVJIHJvdXRlciBoYXMgbm90aGluZyB0b1xuICAgIC8vIHJlc29sdmUgd2hlbiBpdCBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICBjb25zdCBbdmlld0xvYWRlZCwgc2V0Vmlld0xvYWRlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghdmlld1BhdGgpIHtcbiAgICAgICAgICAgIHNldEVycm9yKGBSZWdpc3RyYXRpb24gdHlwZSBcIiR7dHlwZX1cIiBpcyBub3Qgc3VwcG9ydGVkLmApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0U2VydmljZUFwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5zZXJ2aWNlQXBpUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldFVJQ29uZmlnUGF0aChwcm9wcy5pbXBsQ29uZmlnLnVpQ29uZmlnUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldENvbnRleHRSb290KHByb3BzLmNvbnRleHRSb290KTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0RmlsZXNBcGlQYXRoKHByb3BzLmltcGxDb25maWcuZmlsZXNBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldE5hdmlnYXRvcigocGF0aCkgPT4ge1xuICAgICAgICAgICAgbmF2aWdhdGUocGF0aCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFB1YmxpYyBDRFVJIGZldGNoIOKAlCBoaXRzIHRoZSB1bnByb3RlY3RlZCBlbmRwb2ludCB3ZSBhZGRlZFxuICAgICAgICAvLyB0byBvdWktc2VydmVyICh3aGl0ZWxpc3RlZCBpbiBSZXNvdXJjZVNlcnZlckNvbmZpZykuIFRoZVxuICAgICAgICAvLyByZXR1cm5lZCBKU09OIGlzIHdyYXBwZWQgaW50byB0aGUge2NvbmZpZywgcGFyYW1ldGVycywgcGFyZW50LFxuICAgICAgICAvLyBoYW5kbGUuYXBpfSBlbnZlbG9wZSBleHBlY3RlZCBieSBhZGRWaWV3IChtaXJyb3JzIHRoZSBwYXR0ZXJuXG4gICAgICAgIC8vIGluIFJvdXRlQWN0aW9uSGFuZGxlci5leGVjdXRlKSBhbmQgcmVnaXN0ZXJlZCBhZ2FpbnN0IHRoZVxuICAgICAgICAvLyAnbWFpbicgY29udGV4dCBzbyB0aGUgVmlld1BvcnQgYmVsb3cgcmVzb2x2ZXMgaXQgd2hlbiBpdFxuICAgICAgICAvLyBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICAgICAgc2VuZFJlcXVlc3QoXG4gICAgICAgICAgICBob3N0ICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyAnL3VpL2FwaS92MS92aWV3L3B1YmxpYy9nZXQ/dmVyc2lvbj0xLjAmaWQ9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2aWV3UGF0aCksXG4gICAgICAgICAgICAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGdyYXBoICh3aXphcmQpIEFORCB2aWV3IChzaW5nbGUgcGFnZSkgYXJlIGJvdGggYWRkYWJsZS5cbiAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiAoZGF0YS50eXBlID09PSAndmlldycgfHwgZGF0YS50eXBlID09PSAnZ3JhcGgnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0TW9kZWwgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmlldyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgaWQoKSB7IHJldHVybiBkYXRhLmlkOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgbW9kZWwoKSB7IHJldHVybiBkZWZhdWx0TW9kZWw7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENoaWxkOiAoKSA9PiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbDogKHZhbHVlcykgPT4geyBVdGlscy51cGRhdGVNb2RlbCh2YWx1ZXMsIGRlZmF1bHRNb2RlbCk7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1vZGVsVmFsdWU6IChrZXksIHZhbHVlKSA9PiB7IGRlZmF1bHRNb2RlbFtrZXldID0gdmFsdWU7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vZGVsVmFsdWU6IChrZXkpID0+IGRlZmF1bHRNb2RlbFtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6ICgpID0+IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkVmlldyh2aWV3LCBkYXRhLmlkLCB0cnVlLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubmF2aWdhdGUoJy9yZWdpc3Rlci8nICsgdHlwZSArICcvJyArIGRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCB1bmV4cGVjdGVkIHBheWxvYWQnLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0RXJyb3IoJ1JlZ2lzdHJhdGlvbiB2aWV3IGNvdWxkIG5vdCBiZSBsb2FkZWQuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVnaXN0cmF0aW9uIHZpZXcnLCBlKTtcbiAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgIH0sIGZhbHNlLCB0cnVlXG4gICAgICAgICk7XG4gICAgfSwgW3R5cGUsIHZpZXdQYXRoXSk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpbiB3LTEwMCBoLTEwMCBkLWlubGluZS1ibG9jayBjb2otc2tpblwiIHN0eWxlPXt7ZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInfX0+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e21heFdpZHRoOiA0MjAsIHBhZGRpbmc6IDMyLCB0ZXh0QWxpZ246ICdjZW50ZXInfX0+XG4gICAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIG1hcmdpbjogJzAgMCAxMnB4J319Pk5vdCBhdmFpbGFibGU8L2gyPlxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17e2NvbG9yOiAnIzZiNzc4NScsIG1hcmdpbjogJzAgMCAxNnB4J319PntlcnJvcn08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvbG9naW5cIiBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIHRleHREZWNvcmF0aW9uOiAnbm9uZScsIGZvbnRXZWlnaHQ6IDUwMH19PkJhY2sgdG8gbG9naW48L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1haW4gdy0xMDAgaC0xMDAgZC1pbmxpbmUtYmxvY2sgY29qLXNraW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xMDAgaC0xMDBcIj5cbiAgICAgICAgICAgICAgICA8RW1vdGlvblRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXtjcmVhdGVUaGVtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnNlY29uZGFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWlDc3NCYXNlbGluZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVPdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmVmb3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCkgdHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogJ3RoaW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2ViS2l0IGJyb3dzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC42KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q3NzQmFzZWxpbmUvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXdQb3J0IHdpbmRvd1Bpbm5lZD17ZmFsc2V9IG1lbnVPZmZzZXQ9ezB9IGxhbmRpbmdQYWdlPXtcIk5PTkVcIn0gc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJ319Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvRW1vdGlvblRoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLG1CQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBTSxTQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBVCxPQUFBO0FBQTRDLFNBQUFELHVCQUFBVyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRTVDO0FBQ0E7QUFDQTtBQUNBLE1BQU1HLElBQUksR0FBR0MsTUFBTSxDQUFDQyxRQUFRLENBQUNDLFFBQVEsR0FBRyxJQUFJLEdBQUdGLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRSxRQUFROztBQUV2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU1DLHlCQUF5QixHQUFHO0VBQzlCQyxNQUFNLEVBQUU7QUFDWixDQUFDO0FBRUQsTUFBTUMseUJBQXlCLEdBQUlDLEtBQUssSUFBSztFQUN6QyxNQUFNQyxRQUFRLEdBQUcsSUFBQUMsMkJBQVcsRUFBQyxDQUFDO0VBQzlCO0VBQ0E7RUFDQTtFQUNBLE1BQU07SUFBQ0MsSUFBSSxFQUFFQztFQUFPLENB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
302
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9tYXRlcmlhbCIsIl9UaGVtZVByb3ZpZGVyIiwiX3JlYWN0MiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfVmlld1BvcnQiLCJfTG9hZGluZ0luZGljYXRvciIsIl9VdGlscyIsIl9SZXN0VXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJob3N0Iiwid2luZG93IiwibG9jYXRpb24iLCJwcm90b2NvbCIsImhvc3RuYW1lIiwiUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyIsInZlbmRvciIsIkZPT1RFUl9MSU5LUyIsImxhYmVsIiwiZmlsZSIsIlJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwiLCJwcm9wcyIsIm5hdmlnYXRlIiwidXNlTmF2aWdhdGUiLCJ0eXBlIiwicmF3VHlwZSIsInVzZVBhcmFtcyIsInRvTG93ZXJDYXNlIiwidmlld1BhdGgiLCJ2aWV3TG9hZGVkIiwic2V0Vmlld0xvYWRlZCIsIlJlYWN0IiwidXNlU3RhdGUiLCJlcnJvciIsInNldEVycm9yIiwidXNlRWZmZWN0IiwiY29uY2F0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRBY3RpdmVUZW5hbnQiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsImltcGxDb25maWciLCJzZXJ2aWNlQXBpUGF0aCIsInNldFVJQ29uZmlnUGF0aCIsInVpQ29uZmlnUGF0aCIsInNldENvbnRleHRSb290IiwiY29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImRhdGEiLCJjb25zb2xlIiwiaXNXaW5kb3ciLCJsb2FkR3JhcGgiLCJkZWZhdWx0TW9kZWwiLCJ2aWV3IiwiY29uZmlnIiwicGFyYW1ldGVycyIsInBhcmVudCIsImhhbmRsZSIsImFwaSIsImlkIiwibW9kZWwiLCJnZXRDaGlsZCIsInVwZGF0ZU1vZGVsIiwidmFsdWVzIiwiVXRpbHMiLCJzZXRNb2RlbFZhbHVlIiwia2V5IiwidmFsdWUiLCJnZXRNb2RlbFZhbHVlIiwibG9hZGVkIiwiYWRkVmlldyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJtYXhXaWR0aCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJjb2xvciIsIm1hcmdpbiIsImhyZWYiLCJ0ZXh0RGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJvcmdDb2RlIiwiU3RyaW5nIiwiYWdyZWVtZW50QmFzZSIsIm9yaWdpbiIsImZsZXhEaXJlY3Rpb24iLCJmbGV4IiwibWluSGVpZ2h0IiwicG9zaXRpb24iLCJUaGVtZVByb3ZpZGVyIiwidGhlbWUiLCJjcmVhdGVUaGVtZSIsInBhbGV0dGUiLCJwcmltYXJ5IiwibWFpbiIsInByaW1hcnlDb2xvciIsInNlY29uZGFyeSIsInNlY29uZGFyeUNvbG9yIiwiY29tcG9uZW50cyIsIk11aUNzc0Jhc2VsaW5lIiwic3R5bGVPdmVycmlkZXMiLCJib2R5Iiwic2Nyb2xsYmFyQ29sb3IiLCJzY3JvbGxiYXJXaWR0aCIsIndpZHRoIiwiaGVpZ2h0IiwiYmFja2dyb3VuZCIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclJhZGl1cyIsInRyYW5zaXRpb24iLCJDc3NCYXNlbGluZSIsIndpbmRvd1Bpbm5lZCIsIm1lbnVPZmZzZXQiLCJsYW5kaW5nUGFnZSIsImZsZXhTaHJpbmsiLCJib3JkZXJUb3AiLCJmb250U2l6ZSIsImdhcCIsImZsZXhXcmFwIiwibWFyZ2luQm90dG9tIiwibWFwIiwibGluayIsInRhcmdldCIsIkNBbiIsInJlbCIsIkRhdGUiLCJnZXRGdWxsWWVhciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmlldy9zZWN1cml0eS9SZWdpc3RlckludGVyYWN0aW9uUG9ydGFsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZU5hdmlnYXRlLCB1c2VQYXJhbXN9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQge2NyZWF0ZVRoZW1lLCBDc3NCYXNlbGluZX0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBUaGVtZVByb3ZpZGVyIGZyb20gXCJAbXVpL3N0eWxlcy9UaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQge1RoZW1lUHJvdmlkZXIgYXMgRW1vdGlvblRoZW1lUHJvdmlkZXJ9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5pbXBvcnQgYXBwbGljYXRpb01hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgVmlld1BvcnQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0XCI7XG5pbXBvcnQgTG9hZGluZ0luZGljYXRvciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Mb2FkaW5nSW5kaWNhdG9yXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQge3NlbmRSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vUmVzdFV0aWxzXCI7XG5cbi8vIEhvc3RuYW1lIG9ubHkg4oCUIG1hdGNoZXMgdGhlIFVSTC1jb25zdHJ1Y3Rpb24gc3R5bGUgaW5cbi8vIEludGVyYWN0aW9uUG9ydGFsQXBwSG9tZS5qcy4gY29udGV4dC1yb290ICsgc2VydmljZSBwYXRoIGdldCBhcHBlbmRlZFxuLy8gd2hlbiB0aGUgYWN0dWFsIHJlcXVlc3QgaXMgYnVpbHQuXG5jb25zdCBob3N0ID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG4vKipcbiAqIFNrZWxldG9uIGZvciB0aGUgcmVnaXN0cmF0aW9uIHBvcnRhbCDigJQgd2lyZXMgdGhlIEFwcGxpY2F0aW9uTWFuYWdlcixcbiAqIHRoZSBkdWFsIEVtb3Rpb24vTVVJIHRoZW1lIHByb3ZpZGVycywgYW5kIGEgQ0RVSSB7QGxpbmsgVmlld1BvcnR9LlxuICogVGhlIGFjdHVhbCByZWdpc3RyYXRpb24gdmlldyBsYW5kcyBpbiBhIGZvbGxvdy11cCBzcHJpbnRcbiAqIChzcGVjL3JlZ2lzdHJhdGlvbi5tZCDCpzIpLiBNaXJyb3JzIHtAY29kZSBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanN9XG4gKiBmb3IgdGhlbWUgKyBtYW5hZ2VyIGluaXQgYnV0IG9taXRzIHRoZSB7QGNvZGUgL3N5c3RlbS9zZXR1cH0gYW5kXG4gKiB7QGNvZGUgL2F1dGgvdXNlci9maW5kfSBlbmRwb2ludHMg4oCUIHRoZSByZWdpc3RyYXRpb24gZmxvdyBydW5zXG4gKiB1bmF1dGhlbnRpY2F0ZWQgYW5kIHRoZXJlIGlzIG5vIGxvZ2dlZC1pbiB1c2VyIHRvIGxvb2sgdXAuXG4gKlxuICogPHA+QmVjYXVzZSBubyB7QGNvZGUgZGFzaGJvYXJkU2V0dGluZ3N9IGlzIGxvYWRlZCBoZXJlIChubyBhdXRoKSwgYm90aFxuICogdGhlIEVtb3Rpb24gb3V0ZXIgYW5kIE1hdGVyaWFsIGlubmVyIHRoZW1lcyBhcmUgc2VlZGVkIGZyb21cbiAqIHtAY29kZSBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvciAvIHNlY29uZGFyeUNvbG9yfSDigJQgdGhlIHNhbWVcbiAqIGZhbGxiYWNrIHRoZSBsb2dpbiBwb3J0YWwgdXNlcy5cbiAqL1xuLy8gVHlwZS1zY29wZWQgcmVnaXN0cmF0aW9uOiBlYWNoIHR5cGUgaGFzIGl0cyBvd24gd2l6YXJkIEpTT04gdW5kZXJcbi8vIC9wb3J0YWwvdmlld3MvcmVnaXN0cmF0aW9uLy4gTmV3IHR5cGVzIGFkZCBhbiBlbnRyeSBoZXJlLlxuY29uc3QgUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyA9IHtcbiAgICB2ZW5kb3I6ICcvcG9ydGFsL3ZpZXdzL3JlZ2lzdHJhdGlvbi9yZWdpc3RyYXRpb24tdmVuZG9yLmpzb24nLFxufTtcblxuLy8gRVVMQS1zdGFuZGFyZCBmb290ZXIgbGlua3MuIFRoZSBhZ3JlZW1lbnQgSFRNTCBmaWxlcyBhcmUgaG9zdGVkIHVuZGVyXG4vLyAvYWdyZWVtZW50cy88b3JnQ29kZT4vPGRvYz4uaHRtbCAoc2VydmVkIGJ5IG5naW54IGluIHByb2QgLyBTcHJpbmdcbi8vIHN0YXRpYy1yZXNvdXJjZSBtYXBwaW5nIGluIGRldikuIE5ldyBsZWdhbCBkb2N1bWVudHMgYWRkIGFuIGVudHJ5XG4vLyBoZXJlLiBXaGVuIGFjY2VwdGFuY2UtY2hlY2tib3ggY2FwdHVyZSBsYW5kcyBpbiB0aGUgd2l6YXJkLCBzd2l0Y2hcbi8vIHRoZXNlIFVSTHMgdG8gdmVyc2lvbmVkIHBhdGhzIChlLmcuIHRlcm1zLW9mLXNlcnZpY2UvdjEuaHRtbCkuXG5jb25zdCBGT09URVJfTElOS1MgPSBbXG4gICAge2xhYmVsOiAnVGVybXMgb2YgU2VydmljZScsIGZpbGU6ICd0ZXJtcy1vZi1zZXJ2aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQcml2YWN5IFBvbGljeScsIGZpbGU6ICdwcml2YWN5LXBvbGljeS5odG1sJ30sXG4gICAge2xhYmVsOiAnQ29va2llIE5vdGljZScsIGZpbGU6ICdjb29raWUtbm90aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQT1BJQSBOb3RpY2UnLCBmaWxlOiAncG9waWEtbm90aWNlLmh0bWwnfSxcbl07XG5cbmNvbnN0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgLy8gVGhlIDp0eXBlIHJvdXRlIHNlZ21lbnQgKGUuZy4gJ3ZlbmRvcicpLiBGYWxscyBiYWNrIHRvICd2ZW5kb3InXG4gICAgLy8gd2hlbiB0aGUgcm91dGUgaGFzIG5vIHR5cGUgc2VnbWVudCB5ZXQg4oCUIGtlZXBzIGEgYmFyZSAvcmVnaXN0ZXJcbiAgICAvLyByZXF1ZXN0IHdvcmtpbmcgZHVyaW5nIHRoZSByb2xsb3V0IHdpbmRvdy5cbiAgICBjb25zdCB7dHlwZTogcmF3VHlwZX0gPSB1c2VQYXJhbXMoKTtcbiAgICBjb25zdCB0eXBlID0gKHJhd1R5cGUgfHwgJ3ZlbmRvcicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgdmlld1BhdGggPSBSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXW3R5cGVdO1xuXG4gICAgLy8gR2F0ZXMgdGhlIHJlbmRlciDigJQgYmxvY2sgdGhlIFZpZXdQb3J0IG1vdW50IHVudGlsIHRoZSB3aXphcmRcbiAgICAvLyB2aWV3IEpTT04gaGFzIGJlZW4gZmV0Y2hlZCBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZVxuICAgIC8vIEFwcGxpY2F0aW9uTWFuYWdlciwgb3RoZXJ3aXNlIHRoZSBDRFVJIHJvdXRlciBoYXMgbm90aGluZyB0b1xuICAgIC8vIHJlc29sdmUgd2hlbiBpdCBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICBjb25zdCBbdmlld0xvYWRlZCwgc2V0Vmlld0xvYWRlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghdmlld1BhdGgpIHtcbiAgICAgICAgICAgIHNldEVycm9yKGBSZWdpc3RyYXRpb24gdHlwZSBcIiR7dHlwZX1cIiBpcyBub3Qgc3VwcG9ydGVkLmApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIYXJkY29kZWQgdGVuYW50IGZvciBub3cgdW50aWwgdGVuYW50IHJlc29sdXRpb24gaXMgaW1wbGVtZW50ZWRcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0QWN0aXZlVGVuYW50KCdDT0onKTtcblxuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRTZXJ2aWNlQXBpUGF0aChwcm9wcy5pbXBsQ29uZmlnLnNlcnZpY2VBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0VUlDb25maWdQYXRoKHByb3BzLmltcGxDb25maWcudWlDb25maWdQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0Q29udGV4dFJvb3QocHJvcHMuY29udGV4dFJvb3QpO1xuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRGaWxlc0FwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5maWxlc0FwaVBhdGgpO1xuICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuc2V0TmF2aWdhdG9yKChwYXRoKSA9PiB7XG4gICAgICAgICAgICBuYXZpZ2F0ZShwYXRoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUHVibGljIENEVUkgZmV0Y2gg4oCUIGhpdHMgdGhlIHVucHJvdGVjdGVkIGVuZHBvaW50IHdlIGFkZGVkXG4gICAgICAgIC8vIHRvIG91aS1zZXJ2ZXIgKHdoaXRlbGlzdGVkIGluIFJlc291cmNlU2VydmVyQ29uZmlnKS4gVGhlXG4gICAgICAgIC8vIHJldHVybmVkIEpTT04gaXMgZGlzcGF0Y2hlZCB0aGUgc2FtZSB3YXkgUm91dGVBY3Rpb25IYW5kbGVyXG4gICAgICAgIC8vIGRvZXMgaXQ6IHNpbmdsZS1wYWdlIGB2aWV3YCDihpIgYWRkVmlldyArIG5hdmlnYXRlOyBtdWx0aS1zdGVwXG4gICAgICAgIC8vIGBncmFwaGAg4oaSIGxvYWRHcmFwaCAod2hpY2ggb3ducyBzdGVwcGVyIHN0YXRlICsgZmlyc3Qtbm9kZVxuICAgICAgICAvLyByb3V0aW5nKS4gTWl4aW5nIHRoZW0gdXAgcm91dGVzIGEgZ3JhcGggdGhyb3VnaCBhZGRWaWV3IGFuZFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIHdpemFyZCBub2RlcyB1bnJlYWNoYWJsZS5cbiAgICAgICAgc2VuZFJlcXVlc3QoXG4gICAgICAgICAgICBob3N0ICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyAnL3VpL2FwaS92MS92aWV3L3B1YmxpYy9nZXQ/dmVyc2lvbj0xLjAmaWQ9JyArIHZpZXdQYXRoLFxuICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzZW5kUmVxdWVzdCBhdXRvLWRlY29kZXMgdGhlIHtfY2R1aV96fSB3aXJlIHdyYXAgZm9yXG4gICAgICAgICAgICAgICAgLy8gL3VpL2FwaS92Ki8gVVJMcyDigJQgZGF0YSBoZXJlIGlzIHRoZSByYXcgdmlldyBjb25maWcuXG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCBlbXB0eSBwYXlsb2FkJyk7XG4gICAgICAgICAgICAgICAgICAgIHNldEVycm9yKCdSZWdpc3RyYXRpb24gdmlldyBjb3VsZCBub3QgYmUgbG9hZGVkLicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gJ2dyYXBoJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBNaXJyb3IgUm91dGVBY3Rpb25IYW5kbGVyJ3MgZ3JhcGggYnJhbmNoOiBoYW5kIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyByYXcgY29uZmlnIHRvIGxvYWRHcmFwaCwgd2hpY2ggbWFuYWdlcyBpbnRlcm5hbFxuICAgICAgICAgICAgICAgICAgICAvLyBub2RlIG5hdmlnYXRpb24uIE5vIG1hbnVhbCBuYXZpZ2F0ZSBoZXJlIOKAlFxuICAgICAgICAgICAgICAgICAgICAvLyBsb2FkR3JhcGggcm91dGVzIHRvIHRoZSBmaXJzdCBub2RlIGl0c2VsZi5cbiAgICAgICAgICAgICAgICAgICAgZGF0YS5pc1dpbmRvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubG9hZEdyYXBoKHRydWUsIGRhdGEsIFtdLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAndmlldycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2luZ2xlLXBhZ2UgdmlldzogYnVpbGQgdGhlIGVudmVsb3BlIGFuZCByZWdpc3RlclxuICAgICAgICAgICAgICAgICAgICAvLyBpdCBvbiB0aGUgJ21haW4nIGNvbnRleHQsIHRoZW4gbmF2aWdhdGUgdG8gdGhlXG4gICAgICAgICAgICAgICAgICAgIC8vIHR5cGUtc2NvcGVkIHJlZ2lzdGVyIHJvdXRlIHNvIHRoZSBWaWV3UG9ydFxuICAgICAgICAgICAgICAgICAgICAvLyByZXNvbHZlcyBpdC4gTWlycm9ycyBSb3V0ZUFjdGlvbkhhbmRsZXIncyB2aWV3XG4gICAgICAgICAgICAgICAgICAgIC8vIGJyYW5jaCwgd2l0aCB0aGUgcmVnaXN0ZXItcG9ydGFsIFVSTCBwYXR0ZXJuXG4gICAgICAgICAgICAgICAgICAgIC8vICgvcmVnaXN0ZXIvOnR5cGUvOmlkKSBzdWJzdGl0dXRlZCBmb3IgL3ZpZXcvOmlkLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0TW9kZWwgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmlldyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgaWQoKSB7IHJldHVybiBkYXRhLmlkOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgbW9kZWwoKSB7IHJldHVybiBkZWZhdWx0TW9kZWw7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENoaWxkOiAoKSA9PiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbDogKHZhbHVlcykgPT4geyBVdGlscy51cGRhdGVNb2RlbCh2YWx1ZXMsIGRlZmF1bHRNb2RlbCk7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1vZGVsVmFsdWU6IChrZXksIHZhbHVlKSA9PiB7IGRlZmF1bHRNb2RlbFtrZXldID0gdmFsdWU7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vZGVsVmFsdWU6IChrZXkpID0+IGRlZmF1bHRNb2RlbFtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6ICgpID0+IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkVmlldyh2aWV3LCBkYXRhLmlkLCB0cnVlLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubmF2aWdhdGUoJy9yZWdpc3Rlci8nICsgdHlwZSArICcvJyArIGRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCB1bmV4cGVjdGVkIHR5cGUnLCBkYXRhLnR5cGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZWdpc3RyYXRpb24gdmlldycsIGUpO1xuICAgICAgICAgICAgICAgIHNldEVycm9yKCdSZWdpc3RyYXRpb24gdmlldyBjb3VsZCBub3QgYmUgbG9hZGVkLicpO1xuICAgICAgICAgICAgfSwgZmFsc2UsIHRydWVcbiAgICAgICAgKTtcbiAgICB9LCBbdHlwZSwgdmlld1BhdGhdKTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrIGNvai1za2luXCIgc3R5bGU9e3tkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcid9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7bWF4V2lkdGg6IDQyMCwgcGFkZGluZzogMzIsIHRleHRBbGlnbjogJ2NlbnRlcid9fT5cbiAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgbWFyZ2luOiAnMCAwIDEycHgnfX0+Tm90IGF2YWlsYWJsZTwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7Y29sb3I6ICcjNmI3Nzg1JywgbWFyZ2luOiAnMCAwIDE2cHgnfX0+e2Vycm9yfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi9sb2dpblwiIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgdGV4dERlY29yYXRpb246ICdub25lJywgZm9udFdlaWdodDogNTAwfX0+QmFjayB0byBsb2dpbjwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFRlbmFudCBjb2RlIHRoYXQgc2NvcGVzIHRoZSBhZ3JlZW1lbnQtYXNzZXQgcGF0aC4gRGVmYXVsdCB0byAnY29qJ1xuICAgIC8vIHVudGlsIGltcGxDb25maWcub3JnQ29kZSBpcyBwbHVtYmVkIHRocm91Z2ggZnJvbSB0aGUgcG9ydGFsIGNvbmZpZ1xuICAgIC8vIGVuZHBvaW50IOKAlCB0aGUgZXhpc3RpbmcgcGFnZXMgbGl2ZSB1bmRlciAvYWdyZWVtZW50cy9jb2ovLlxuICAgIGNvbnN0IG9yZ0NvZGUgPSAocHJvcHMuaW1wbENvbmZpZyAmJiBwcm9wcy5pbXBsQ29uZmlnLm9yZ0NvZGVcbiAgICAgICAgPyBTdHJpbmcocHJvcHMuaW1wbENvbmZpZy5vcmdDb2RlKVxuICAgICAgICA6ICdjb2onKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGFncmVlbWVudEJhc2UgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9hZ3JlZW1lbnRzLycgKyBvcmdDb2RlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibWFpbiB3LTEwMCBoLTEwMCBkLWlubGluZS1ibG9jayBjb2otc2tpblwiXG4gICAgICAgICAgICBzdHlsZT17e2Rpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbid9fVxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ZmxleDogJzEgMSBhdXRvJywgbWluSGVpZ2h0OiAnY2FsYygxMDB2aCAtIDcycHgpJywgcG9zaXRpb246ICdyZWxhdGl2ZSd9fT5cbiAgICAgICAgICAgICAgICA8RW1vdGlvblRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXtjcmVhdGVUaGVtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnNlY29uZGFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWlDc3NCYXNlbGluZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVPdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmVmb3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCkgdHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogJ3RoaW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2ViS2l0IGJyb3dzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC42KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q3NzQmFzZWxpbmUvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXdQb3J0IHdpbmRvd1Bpbm5lZD17ZmFsc2V9IG1lbnVPZmZzZXQ9ezB9IGxhbmRpbmdQYWdlPXtcIk5PTkVcIn0gc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA3MnB4KScsIHBvc2l0aW9uOiAnZml4ZWQnfX0vPlxuICAgICAgICAgICAgICAgICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9FbW90aW9uVGhlbWVQcm92aWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZvb3RlclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcxNnB4IDI0cHgnLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCAjZTZlYWYwJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxM3B4JyxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNmI3Nzg1JyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJ1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMjRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnNnB4J1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge0ZPT1RFUl9MSU5LUy5tYXAoKGxpbmspID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtsaW5rLmZpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17YWdyZWVtZW50QmFzZSArICcvJyArIGxpbmsuZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIkNBblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgdGV4dERlY29yYXRpb246ICdub25lJywgZm9udFdlaWdodDogNTAwfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bGluay5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgJmNvcHk7IHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCl9IENpdHkgb2YgSm9oYW5uZXNidXJnLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb290ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZWdpc3RlckludGVyYWN0aW9uUG9ydGFsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFK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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agilemotion/oui-react-js",
3
- "version": "2.0.13",
3
+ "version": "2.0.15",
4
4
  "description": "AgileMotion React UI Component Library - A comprehensive collection of dashboard components, forms, media controls, and more",
5
5
  "license": "ISC",
6
6
  "author": "",