botframework-webchat 4.15.8-main.20230331.0e770c8 → 4.15.8-main.20230412.960a5a5

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.
@@ -0,0 +1,28 @@
1
+ import type { AdaptiveCard } from 'adaptivecards';
2
+ /**
3
+ * Accessibility: "role" attribute must be set if "aria-label" is set.
4
+ *
5
+ * It is possible to render an Adaptive Card with empty content but "aria-label" attribute. The Adaptive Cards JSON looks like:
6
+ *
7
+ * ```json
8
+ * {
9
+ * "type": "AdaptiveCard",
10
+ * "speak": "Hello, World!",
11
+ * "body": [],
12
+ * "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
13
+ * "version": "1.5"
14
+ * }
15
+ * ```
16
+ *
17
+ * The HTML output will be:
18
+ *
19
+ * ```html
20
+ * <div class="ac-adaptiveCard" aria-label="Hello, World!"></div>
21
+ * ```
22
+ *
23
+ * This violates WAI-ARIA because "aria-label" must not be set on an element without a "role".
24
+ *
25
+ * We need to set "role" attribute to "form" if the card has any input fields and is valid as a "form" role, otherwise, "figure".
26
+ */
27
+ export default function useRoleModEffect(adaptiveCard: AdaptiveCard): readonly [(cardElement: HTMLElement) => void, () => void];
28
+ //# sourceMappingURL=useRoleModEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRoleModEffect.d.ts","sourceRoot":"","sources":["../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/useRoleModEffect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,YAAY,EAAE,YAAY,GACzB,SAAS,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC,CAiB3D"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useRoleModEffect;
9
+
10
+ var _react = require("react");
11
+
12
+ var _setOrRemoveAttributeIfFalseWithUndo = _interopRequireDefault(require("../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo"));
13
+
14
+ var _useAdaptiveCardModEffect = _interopRequireDefault(require("./private/useAdaptiveCardModEffect"));
15
+
16
+ /**
17
+ * Accessibility: "role" attribute must be set if "aria-label" is set.
18
+ *
19
+ * It is possible to render an Adaptive Card with empty content but "aria-label" attribute. The Adaptive Cards JSON looks like:
20
+ *
21
+ * ```json
22
+ * {
23
+ * "type": "AdaptiveCard",
24
+ * "speak": "Hello, World!",
25
+ * "body": [],
26
+ * "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
27
+ * "version": "1.5"
28
+ * }
29
+ * ```
30
+ *
31
+ * The HTML output will be:
32
+ *
33
+ * ```html
34
+ * <div class="ac-adaptiveCard" aria-label="Hello, World!"></div>
35
+ * ```
36
+ *
37
+ * This violates WAI-ARIA because "aria-label" must not be set on an element without a "role".
38
+ *
39
+ * We need to set "role" attribute to "form" if the card has any input fields and is valid as a "form" role, otherwise, "figure".
40
+ */
41
+ function useRoleModEffect(adaptiveCard) {
42
+ var modder = (0, _react.useMemo)(function () {
43
+ return function (_, cardElement) {
44
+ return (0, _setOrRemoveAttributeIfFalseWithUndo.default)(cardElement, 'role', // "form" role requires either "aria-label", "aria-labelledby", or "title".
45
+ cardElement.querySelector('button, input, select, textarea') && cardElement.getAttribute('aria-label') || cardElement.getAttribute('aria-labelledby') || cardElement.getAttribute('title') ? 'form' : 'figure');
46
+ };
47
+ }, []);
48
+ return (0, _useAdaptiveCardModEffect.default)(modder, adaptiveCard);
49
+ }
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSb2xlTW9kRWZmZWN0IiwiYWRhcHRpdmVDYXJkIiwibW9kZGVyIiwidXNlTWVtbyIsIl8iLCJjYXJkRWxlbWVudCIsInNldE9yUmVtb3ZlQXR0cmlidXRlSWZGYWxzZVdpdGhVbmRvIiwicXVlcnlTZWxlY3RvciIsImdldEF0dHJpYnV0ZSIsInVzZUFkYXB0aXZlQ2FyZE1vZEVmZmVjdCJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvQXR0YWNobWVudC9BZGFwdGl2ZUNhcmRIYWNrcy91c2VSb2xlTW9kRWZmZWN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby9zZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyc7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0IGZyb20gJy4vcHJpdmF0ZS91c2VBZGFwdGl2ZUNhcmRNb2RFZmZlY3QnO1xuXG5pbXBvcnQgdHlwZSB7IEFkYXB0aXZlQ2FyZCB9IGZyb20gJ2FkYXB0aXZlY2FyZHMnO1xuXG4vKipcbiAqIEFjY2Vzc2liaWxpdHk6IFwicm9sZVwiIGF0dHJpYnV0ZSBtdXN0IGJlIHNldCBpZiBcImFyaWEtbGFiZWxcIiBpcyBzZXQuXG4gKlxuICogSXQgaXMgcG9zc2libGUgdG8gcmVuZGVyIGFuIEFkYXB0aXZlIENhcmQgd2l0aCBlbXB0eSBjb250ZW50IGJ1dCBcImFyaWEtbGFiZWxcIiBhdHRyaWJ1dGUuIFRoZSBBZGFwdGl2ZSBDYXJkcyBKU09OIGxvb2tzIGxpa2U6XG4gKlxuICogYGBganNvblxuICoge1xuICogICBcInR5cGVcIjogXCJBZGFwdGl2ZUNhcmRcIixcbiAqICAgXCJzcGVha1wiOiBcIkhlbGxvLCBXb3JsZCFcIixcbiAqICAgXCJib2R5XCI6IFtdLFxuICogICBcIiRzY2hlbWFcIjogXCJodHRwOi8vYWRhcHRpdmVjYXJkcy5pby9zY2hlbWFzL2FkYXB0aXZlLWNhcmQuanNvblwiLFxuICogICBcInZlcnNpb25cIjogXCIxLjVcIlxuICogfVxuICogYGBgXG4gKlxuICogVGhlIEhUTUwgb3V0cHV0IHdpbGwgYmU6XG4gKlxuICogYGBgaHRtbFxuICogPGRpdiBjbGFzcz1cImFjLWFkYXB0aXZlQ2FyZFwiIGFyaWEtbGFiZWw9XCJIZWxsbywgV29ybGQhXCI+PC9kaXY+XG4gKiBgYGBcbiAqXG4gKiBUaGlzIHZpb2xhdGVzIFdBSS1BUklBIGJlY2F1c2UgXCJhcmlhLWxhYmVsXCIgbXVzdCBub3QgYmUgc2V0IG9uIGFuIGVsZW1lbnQgd2l0aG91dCBhIFwicm9sZVwiLlxuICpcbiAqIFdlIG5lZWQgdG8gc2V0IFwicm9sZVwiIGF0dHJpYnV0ZSB0byBcImZvcm1cIiBpZiB0aGUgY2FyZCBoYXMgYW55IGlucHV0IGZpZWxkcyBhbmQgaXMgdmFsaWQgYXMgYSBcImZvcm1cIiByb2xlLCBvdGhlcndpc2UsIFwiZmlndXJlXCIuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVJvbGVNb2RFZmZlY3QoXG4gIGFkYXB0aXZlQ2FyZDogQWRhcHRpdmVDYXJkXG4pOiByZWFkb25seSBbKGNhcmRFbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gdm9pZCwgKCkgPT4gdm9pZF0ge1xuICBjb25zdCBtb2RkZXIgPSB1c2VNZW1vKFxuICAgICgpID0+IChfLCBjYXJkRWxlbWVudDogSFRNTEVsZW1lbnQpID0+XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyhcbiAgICAgICAgY2FyZEVsZW1lbnQsXG4gICAgICAgICdyb2xlJyxcbiAgICAgICAgLy8gXCJmb3JtXCIgcm9sZSByZXF1aXJlcyBlaXRoZXIgXCJhcmlhLWxhYmVsXCIsIFwiYXJpYS1sYWJlbGxlZGJ5XCIsIG9yIFwidGl0bGVcIi5cbiAgICAgICAgKGNhcmRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEnKSAmJiBjYXJkRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSkgfHxcbiAgICAgICAgICBjYXJkRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpIHx8XG4gICAgICAgICAgY2FyZEVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0aXRsZScpXG4gICAgICAgICAgPyAnZm9ybSdcbiAgICAgICAgICA6ICdmaWd1cmUnXG4gICAgICApLFxuICAgIFtdXG4gICk7XG5cbiAgcmV0dXJuIHVzZUFkYXB0aXZlQ2FyZE1vZEVmZmVjdChtb2RkZXIsIGFkYXB0aXZlQ2FyZCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0EsZ0JBQVQsQ0FDYkMsWUFEYSxFQUU4QztFQUMzRCxJQUFNQyxNQUFNLEdBQUcsSUFBQUMsY0FBQSxFQUNiO0lBQUEsT0FBTSxVQUFDQyxDQUFELEVBQUlDLFdBQUo7TUFBQSxPQUNKLElBQUFDLDRDQUFBLEVBQ0VELFdBREYsRUFFRSxNQUZGLEVBR0U7TUFDQ0EsV0FBVyxDQUFDRSxhQUFaLENBQTBCLGlDQUExQixLQUFnRUYsV0FBVyxDQUFDRyxZQUFaLENBQXlCLFlBQXpCLENBQWpFLElBQ0VILFdBQVcsQ0FBQ0csWUFBWixDQUF5QixpQkFBekIsQ0FERixJQUVFSCxXQUFXLENBQUNHLFlBQVosQ0FBeUIsT0FBekIsQ0FGRixHQUdJLE1BSEosR0FJSSxRQVJOLENBREk7SUFBQSxDQUFOO0VBQUEsQ0FEYSxFQVliLEVBWmEsQ0FBZjtFQWVBLE9BQU8sSUFBQUMsaUNBQUEsRUFBeUJQLE1BQXpCLEVBQWlDRCxZQUFqQyxDQUFQO0FBQ0QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"AdaptiveCardRenderer.d.ts","sourceRoot":"","sources":["../../../src/adaptiveCards/Attachment/AdaptiveCardRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgC,YAAY,EAA+B,MAAM,eAAe,CAAC;AAIxG,OAAc,EAOZ,GAAG,EACJ,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAkBtE,KAAK,yBAAyB,GAAG;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,GAAG,CAAC,yBAAyB,CA6MxD,CAAC;AAuBF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"AdaptiveCardRenderer.d.ts","sourceRoot":"","sources":["../../../src/adaptiveCards/Attachment/AdaptiveCardRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgC,YAAY,EAA+B,MAAM,eAAe,CAAC;AAIxG,OAAc,EAOZ,GAAG,EACJ,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAmBtE,KAAK,yBAAyB,GAAG;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,GAAG,CAAC,yBAAyB,CAkNxD,CAAC;AAuBF,eAAe,oBAAoB,CAAC"}
@@ -35,6 +35,8 @@ var _useDisabledModEffect3 = _interopRequireDefault(require("./AdaptiveCardHacks
35
35
 
36
36
  var _usePersistValuesModEffect = _interopRequireDefault(require("./AdaptiveCardHacks/usePersistValuesModEffect"));
37
37
 
38
+ var _useRoleModEffect3 = _interopRequireDefault(require("./AdaptiveCardHacks/useRoleModEffect"));
39
+
38
40
  var _useValueRef = _interopRequireDefault(require("./AdaptiveCardHacks/private/useValueRef"));
39
41
 
40
42
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -202,12 +204,18 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
202
204
  applyPersistValuesMod = _usePersistValuesModE2[0],
203
205
  undoPersistValuesMod = _usePersistValuesModE2[1];
204
206
 
207
+ var _useRoleModEffect = (0, _useRoleModEffect3.default)(adaptiveCard),
208
+ _useRoleModEffect2 = (0, _slicedToArray2.default)(_useRoleModEffect, 2),
209
+ applyRoleMod = _useRoleModEffect2[0],
210
+ undoRoleMod = _useRoleModEffect2[1];
211
+
205
212
  var _useMemo = (0, _react.useMemo)(function () {
206
213
  undoActionShouldBePushButtonMod();
207
214
  undoActionSetShouldNotBeMenuBarMod();
208
215
  undoActiveElementMod();
209
216
  undoDisabledMod();
210
217
  undoPersistValuesMod();
218
+ undoRoleMod();
211
219
  return (0, _renderAdaptiveCard.default)(adaptiveCard, {
212
220
  adaptiveCardsHostConfig: adaptiveCardsHostConfig,
213
221
  adaptiveCardsPackage: {
@@ -217,7 +225,7 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
217
225
  renderMarkdownAsHTML: renderMarkdownAsHTML,
218
226
  setTabIndexAtCardRoot: setTabIndexAtCardRoot
219
227
  });
220
- }, [adaptiveCard, adaptiveCardsHostConfig, GlobalSettings, HostConfig, renderMarkdownAsHTML, setTabIndexAtCardRoot, undoActionShouldBePushButtonMod, undoActionSetShouldNotBeMenuBarMod, undoActiveElementMod, undoDisabledMod, undoPersistValuesMod]),
228
+ }, [adaptiveCard, adaptiveCardsHostConfig, GlobalSettings, HostConfig, renderMarkdownAsHTML, setTabIndexAtCardRoot, undoActionShouldBePushButtonMod, undoActionSetShouldNotBeMenuBarMod, undoActiveElementMod, undoDisabledMod, undoPersistValuesMod, undoRoleMod]),
221
229
  element = _useMemo.element,
222
230
  errors = _useMemo.errors;
223
231
 
@@ -239,7 +247,8 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
239
247
  applyActiveElementMod(element);
240
248
  applyDisabledMod(element, disabled);
241
249
  applyPersistValuesMod(element);
242
- }, [actionPerformedClassName, applyActionShouldBePushButtonMod, applyActionSetShouldNotBeMenuBarMod, applyActiveElementMod, applyDisabledMod, applyPersistValuesMod, disabled, element]);
250
+ applyRoleMod(element);
251
+ }, [actionPerformedClassName, applyActionShouldBePushButtonMod, applyActionSetShouldNotBeMenuBarMod, applyActiveElementMod, applyDisabledMod, applyPersistValuesMod, applyRoleMod, disabled, element]);
243
252
  return errors !== null && errors !== void 0 && errors.length ? node_env === 'development' && /*#__PURE__*/_react.default.createElement(ErrorBox, {
244
253
  error: errors[0],
245
254
  type: localize('ADAPTIVE_CARD_ERROR_BOX_TITLE_RENDER')
@@ -271,4 +280,4 @@ AdaptiveCardRenderer.propTypes = {
271
280
  };
272
281
  var _default = AdaptiveCardRenderer;
273
282
  exports.default = _default;
274
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFcnJvckJveCIsIkNvbXBvbmVudHMiLCJ1c2VEaXNhYmxlZCIsImhvb2tzIiwidXNlTG9jYWxpemVyIiwidXNlUGVyZm9ybUNhcmRBY3Rpb24iLCJ1c2VSZW5kZXJNYXJrZG93bkFzSFRNTCIsInVzZVNjcm9sbFRvRW5kIiwidXNlU3R5bGVTZXQiLCJub2RlX2VudiIsIkFkYXB0aXZlQ2FyZFJlbmRlcmVyIiwiYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lIiwiYWRhcHRpdmVDYXJkIiwiZGlzYWJsZWRGcm9tUHJvcHMiLCJkaXNhYmxlZCIsInRhcEFjdGlvbiIsImFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQiLCJhZGFwdGl2ZUNhcmRSZW5kZXJlciIsInVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIiwiR2xvYmFsU2V0dGluZ3MiLCJIb3N0Q29uZmlnIiwidXNlQWRhcHRpdmVDYXJkc0hvc3RDb25maWciLCJhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyIsImRpc2FibGVkRnJvbUNvbXBvc2VyIiwiY29udGVudFJlZiIsInVzZVJlZiIsImxvY2FsaXplIiwicGVyZm9ybUNhcmRBY3Rpb24iLCJyZW5kZXJNYXJrZG93bkFzSFRNTCIsInNjcm9sbFRvRW5kIiwidGFwQWN0aW9uUmVmIiwidXNlVmFsdWVSZWYiLCJkaXNhYmxlZFJlZiIsImhhbmRsZUNsaWNrQW5kS2V5UHJlc3MiLCJ1c2VDYWxsYmFjayIsImV2ZW50Iiwia2V5IiwidHlwZSIsInRhcmdldCIsImN1cnJlbnQiLCJhZGFwdGl2ZUNhcmRSb290IiwicXVlcnlTZWxlY3RvciIsImNvbnNvbGUiLCJ3YXJuIiwicHJldmVudERlZmF1bHQiLCJ0YWJJbmRleCIsImdldFRhYkluZGV4IiwiaGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiIsInVuZGVmaW5lZCIsImhhbmRsZUV4ZWN1dGVBY3Rpb24iLCJhY3Rpb24iLCJhY3Rpb25UeXBlTmFtZSIsImdldEpzb25UeXBlTmFtZSIsImltYWdlIiwiaWNvblVybCIsInRpdGxlIiwidmFsdWUiLCJ1cmwiLCJkYXRhIiwiX19pc0JvdEZyYW1ld29ya0NhcmRBY3Rpb24iLCJjYXJkQWN0aW9uIiwiZXJyb3IiLCJzZXRUYWJJbmRleEF0Q2FyZFJvb3QiLCJ1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QiLCJhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCIsInVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QiLCJ1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QiLCJhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCIsInVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QiLCJ1c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0IiwiYXBwbHlBY3RpdmVFbGVtZW50TW9kIiwidW5kb0FjdGl2ZUVsZW1lbnRNb2QiLCJ1c2VEaXNhYmxlZE1vZEVmZmVjdCIsImFwcGx5RGlzYWJsZWRNb2QiLCJ1bmRvRGlzYWJsZWRNb2QiLCJ1c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0IiwiYXBwbHlQZXJzaXN0VmFsdWVzTW9kIiwidW5kb1BlcnNpc3RWYWx1ZXNNb2QiLCJ1c2VNZW1vIiwicmVuZGVyQWRhcHRpdmVDYXJkIiwiYWRhcHRpdmVDYXJkc1BhY2thZ2UiLCJlbGVtZW50IiwiZXJyb3JzIiwib25FeGVjdXRlQWN0aW9uIiwidXNlTGF5b3V0RWZmZWN0IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImxlbmd0aCIsImNsYXNzTmFtZXMiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJhbnkiLCJpc1JlcXVpcmVkIiwiYm9vbCIsInNoYXBlIl0sInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRpdmVDYXJkcy9BdHRhY2htZW50L0FkYXB0aXZlQ2FyZFJlbmRlcmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbLTEsIDAsIDJdIH1dICovXG5cbmltcG9ydCB7IEFjdGlvbiBhcyBBZGFwdGl2ZUNhcmRBY3Rpb24sIEFkYXB0aXZlQ2FyZCwgT3BlblVybEFjdGlvbiwgU3VibWl0QWN0aW9uIH0gZnJvbSAnYWRhcHRpdmVjYXJkcyc7XG5pbXBvcnQgeyBDb21wb25lbnRzLCBnZXRUYWJJbmRleCwgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb21wb25lbnQnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIEtleWJvYXJkRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICBWRkNcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RMaW5lQ2FyZEFjdGlvbiB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuXG5pbXBvcnQgeyBCb3RGcmFtZXdvcmtDYXJkQWN0aW9uIH0gZnJvbSAnLi9BZGFwdGl2ZUNhcmRCdWlsZGVyJztcbmltcG9ydCByZW5kZXJBZGFwdGl2ZUNhcmQgZnJvbSAnLi9wcml2YXRlL3JlbmRlckFkYXB0aXZlQ2FyZCc7XG5pbXBvcnQgdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0JztcbmltcG9ydCB1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QnO1xuaW1wb3J0IHVzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0JztcbmltcG9ydCB1c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyBmcm9tICcuLi9ob29rcy91c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyc7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UgZnJvbSAnLi4vaG9va3MvdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UnO1xuaW1wb3J0IHVzZURpc2FibGVkTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlRGlzYWJsZWRNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0JztcbmltcG9ydCB1c2VWYWx1ZVJlZiBmcm9tICcuL0FkYXB0aXZlQ2FyZEhhY2tzL3ByaXZhdGUvdXNlVmFsdWVSZWYnO1xuXG5jb25zdCB7IEVycm9yQm94IH0gPSBDb21wb25lbnRzO1xuY29uc3QgeyB1c2VEaXNhYmxlZCwgdXNlTG9jYWxpemVyLCB1c2VQZXJmb3JtQ2FyZEFjdGlvbiwgdXNlUmVuZGVyTWFya2Rvd25Bc0hUTUwsIHVzZVNjcm9sbFRvRW5kLCB1c2VTdHlsZVNldCB9ID0gaG9va3M7XG5cbmNvbnN0IG5vZGVfZW52ID0gcHJvY2Vzcy5lbnYubm9kZV9lbnYgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlY7XG5cbnR5cGUgQWRhcHRpdmVDYXJkUmVuZGVyZXJQcm9wcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICBhZGFwdGl2ZUNhcmQ6IEFkYXB0aXZlQ2FyZDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0YXBBY3Rpb24/OiBEaXJlY3RMaW5lQ2FyZEFjdGlvbjtcbn07XG5cbmNvbnN0IEFkYXB0aXZlQ2FyZFJlbmRlcmVyOiBWRkM8QWRhcHRpdmVDYXJkUmVuZGVyZXJQcm9wcz4gPSAoe1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWUsXG4gIGFkYXB0aXZlQ2FyZCxcbiAgZGlzYWJsZWQ6IGRpc2FibGVkRnJvbVByb3BzLFxuICB0YXBBY3Rpb25cbn0pID0+IHtcbiAgY29uc3QgW3sgYWRhcHRpdmVDYXJkUmVuZGVyZXI6IGFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBbeyBHbG9iYWxTZXR0aW5ncywgSG9zdENvbmZpZyB9XSA9IHVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlKCk7XG4gIGNvbnN0IFthZGFwdGl2ZUNhcmRzSG9zdENvbmZpZ10gPSB1c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZygpO1xuICBjb25zdCBbZGlzYWJsZWRGcm9tQ29tcG9zZXJdID0gdXNlRGlzYWJsZWQoKTtcbiAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgcGVyZm9ybUNhcmRBY3Rpb24gPSB1c2VQZXJmb3JtQ2FyZEFjdGlvbigpO1xuICBjb25zdCByZW5kZXJNYXJrZG93bkFzSFRNTCA9IHVzZVJlbmRlck1hcmtkb3duQXNIVE1MKCk7XG4gIGNvbnN0IHNjcm9sbFRvRW5kID0gdXNlU2Nyb2xsVG9FbmQoKTtcblxuICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkRnJvbUNvbXBvc2VyIHx8IGRpc2FibGVkRnJvbVByb3BzO1xuICBjb25zdCB0YXBBY3Rpb25SZWYgPSB1c2VWYWx1ZVJlZih0YXBBY3Rpb24pO1xuXG4gIGNvbnN0IGRpc2FibGVkUmVmID0gdXNlVmFsdWVSZWYoZGlzYWJsZWQpO1xuXG4gIC8vIFRPRE86IFtQMl0gIzMxOTkgV2Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIGBhZGFwdGl2ZUNhcmQuc2VsZWN0QWN0aW9uYCBpbnN0ZWFkLlxuICAvLyBUaGUgbnVsbCBjaGVjayBmb3IgXCJ0YXBBY3Rpb25cIiBpcyBpbiBcImhhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb25cIi5cbiAgY29uc3QgaGFuZGxlQ2xpY2tBbmRLZXlQcmVzcyA9IHVzZUNhbGxiYWNrPEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PiB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pj4oXG4gICAgKGV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCB7IGtleSwgdHlwZSB9ID0gZXZlbnQgYXMgS2V5Ym9hcmRFdmVudDtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcblxuICAgICAgLy8gU29tZSBpdGVtcywgZS5nLiB0YXBwYWJsZSB0ZXh0LCBjYW5ub3QgYmUgZGlzYWJsZWQgdGhydSBET00gYXR0cmlidXRlc1xuICAgICAgY29uc3QgeyBjdXJyZW50IH0gPSBjb250ZW50UmVmO1xuICAgICAgY29uc3QgYWRhcHRpdmVDYXJkUm9vdCA9IGN1cnJlbnQucXVlcnlTZWxlY3RvcignLmFjLWFkYXB0aXZlQ2FyZFt0YWJpbmRleD1cIjBcIl0nKTtcblxuICAgICAgaWYgKCFhZGFwdGl2ZUNhcmRSb290KSB7XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBObyBBZGFwdGl2ZSBDYXJkIHJvb3QgY29udGFpbmVyIGNhbiBiZSBmb3VuZDsgdGhlIGNhcmQgaXMgcHJvYmFibHkgb24gYW4gdW5zdXBwb3J0ZWQgQWRhcHRpdmUgQ2FyZCB2ZXJzaW9uLidcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gRm9yIFwia2V5cHJlc3NcIiBldmVudCwgd2Ugb25seSBsaXN0ZW4gdG8gRU5URVIgYW5kIFNQQUNFQkFSIGtleS5cbiAgICAgIGlmICh0eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICAgIGlmIChrZXkgIT09ICdFbnRlcicgJiYga2V5ICE9PSAnICcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuXG4gICAgICAvLyBXZSB3aWxsIGNhbGwgcGVyZm9ybUNhcmRBY3Rpb24gaWYgZWl0aGVyOlxuICAgICAgLy8gMS4gV2UgYXJlIG9uIHRoZSB0YXJnZXQsIG9yXG4gICAgICAvLyAyLiBUaGUgZXZlbnQtZGlzcGF0Y2hpbmcgZWxlbWVudCBpcyBub3QgaW50ZXJhY3RpdmVcbiAgICAgIGlmICh0YXJnZXQgIT09IGFkYXB0aXZlQ2FyZFJvb3QpIHtcbiAgICAgICAgY29uc3QgdGFiSW5kZXggPSBnZXRUYWJJbmRleCh0YXJnZXQpO1xuXG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIGNsaWNraW5nIG9uIHNvbWV0aGluZyB0aGF0IGlzIGFscmVhZHkgY2xpY2thYmxlLCBkbyBub3QgYWxsb3cgdGhlbSB0byBjbGljayB0aGUgY2FyZC5cbiAgICAgICAgLy8gRS5nLiBhIGhlcm8gY2FyZCBjYW4gYmUgdGFwcGFibGUsIGFuZCBpbWFnZSBhbmQgYnV0dG9ucyBpbnNpZGUgdGhlIGhlcm8gY2FyZCBjYW4gYWxzbyBiZSB0YXBwYWJsZS5cbiAgICAgICAgaWYgKHR5cGVvZiB0YWJJbmRleCA9PT0gJ251bWJlcicgJiYgdGFiSW5kZXggPj0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwZXJmb3JtQ2FyZEFjdGlvbih0YXBBY3Rpb25SZWYuY3VycmVudCk7XG4gICAgICBzY3JvbGxUb0VuZCgpO1xuICAgIH0sXG4gICAgW2NvbnRlbnRSZWYsIHBlcmZvcm1DYXJkQWN0aW9uLCBzY3JvbGxUb0VuZCwgdGFwQWN0aW9uUmVmXVxuICApO1xuXG4gIC8vIE9ubHkgbGlzdGVuIHRvIGV2ZW50IGlmIGl0IGlzIG5vdCBkaXNhYmxlZCBhbmQgaGF2ZSBcInRhcEFjdGlvblwiIHByb3AuXG4gIGNvbnN0IGhhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb24gPSAhZGlzYWJsZWQgJiYgdGFwQWN0aW9uID8gaGFuZGxlQ2xpY2tBbmRLZXlQcmVzcyA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBoYW5kbGVFeGVjdXRlQWN0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGFjdGlvbjogQWRhcHRpdmVDYXJkQWN0aW9uKTogdm9pZCA9PiB7XG4gICAgICAvLyBTb21lIGl0ZW1zLCBlLmcuIHRhcHBhYmxlIGltYWdlLCBjYW5ub3QgYmUgZGlzYWJsZWQgdGhydSBET00gYXR0cmlidXRlc1xuICAgICAgaWYgKGRpc2FibGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhY3Rpb25UeXBlTmFtZSA9IGFjdGlvbi5nZXRKc29uVHlwZU5hbWUoKTtcbiAgICAgIGNvbnN0IHsgaWNvblVybDogaW1hZ2UsIHRpdGxlIH0gPSBhY3Rpb247XG5cbiAgICAgIC8vIFdlIGNhbm5vdCB1c2UgXCJpbnN0YW5jZW9mXCIgY2hlY2sgaGVyZSwgYmVjYXVzZSB3ZWIgZGV2cyBtYXkgYnJpbmcgdGhlaXIgb3duIHZlcnNpb24gb2YgQWRhcHRpdmUgQ2FyZHMgcGFja2FnZS5cbiAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgdXNpbmcgXCJnZXRKc29uVHlwZU5hbWUoKVwiIGluc3RlYWQuXG4gICAgICBpZiAoYWN0aW9uVHlwZU5hbWUgPT09ICdBY3Rpb24uT3BlblVybCcpIHtcbiAgICAgICAgY29uc3QgeyB1cmw6IHZhbHVlIH0gPSBhY3Rpb24gYXMgT3BlblVybEFjdGlvbjtcblxuICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbih7XG4gICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgdHlwZTogJ29wZW5VcmwnLFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChhY3Rpb25UeXBlTmFtZSA9PT0gJ0FjdGlvbi5TdWJtaXQnKSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYWN0aW9uIGFzIFN1Ym1pdEFjdGlvbiBhcyB7XG4gICAgICAgICAgZGF0YTogc3RyaW5nIHwgQm90RnJhbWV3b3JrQ2FyZEFjdGlvbjtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodHlwZW9mIGRhdGEgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oe1xuICAgICAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgIHR5cGU6ICdpbUJhY2snLFxuICAgICAgICAgICAgICB2YWx1ZTogZGF0YVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLl9faXNCb3RGcmFtZXdvcmtDYXJkQWN0aW9uKSB7XG4gICAgICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbihkYXRhLmNhcmRBY3Rpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbih7XG4gICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgdHlwZTogJ3Bvc3RCYWNrJyxcbiAgICAgICAgICAgICAgdmFsdWU6IGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNjcm9sbFRvRW5kKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBXZWIgQ2hhdDogcmVjZWl2ZWQgdW5rbm93biBhY3Rpb24gZnJvbSBBZGFwdGl2ZSBDYXJkc2ApO1xuICAgICAgICBjb25zb2xlLmVycm9yKGFjdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZGlzYWJsZWRSZWYsIHBlcmZvcm1DYXJkQWN0aW9uLCBzY3JvbGxUb0VuZF1cbiAgKTtcblxuICAvLyBGb3IgYWNjZXNzaWJpbGl0eSBpc3N1ZSAjMTM0MCwgYHRhYmluZGV4PVwiMFwiYCBtdXN0IG5vdCBiZSBzZXQgZm9yIHRoZSByb290IGNvbnRhaW5lciBpZiBpdCBpcyBub3QgaW50ZXJhY3RpdmUuXG4gIGNvbnN0IHNldFRhYkluZGV4QXRDYXJkUm9vdCA9ICEhdGFwQWN0aW9uO1xuXG4gIGNvbnN0IFthcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCwgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZF0gPVxuICAgIHVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QsIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RdID1cbiAgICB1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5QWN0aXZlRWxlbWVudE1vZCwgdW5kb0FjdGl2ZUVsZW1lbnRNb2RdID0gdXNlQWN0aXZlRWxlbWVudE1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlEaXNhYmxlZE1vZCwgdW5kb0Rpc2FibGVkTW9kXSA9IHVzZURpc2FibGVkTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseVBlcnNpc3RWYWx1ZXNNb2QsIHVuZG9QZXJzaXN0VmFsdWVzTW9kXSA9IHVzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcblxuICBjb25zdCB7IGVsZW1lbnQsIGVycm9ycyB9OiB7IGVsZW1lbnQ/OiBIVE1MRWxlbWVudDsgZXJyb3JzPzogRXJyb3JbXSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCgpO1xuICAgIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QoKTtcbiAgICB1bmRvQWN0aXZlRWxlbWVudE1vZCgpO1xuICAgIHVuZG9EaXNhYmxlZE1vZCgpO1xuICAgIHVuZG9QZXJzaXN0VmFsdWVzTW9kKCk7XG5cbiAgICByZXR1cm4gcmVuZGVyQWRhcHRpdmVDYXJkKGFkYXB0aXZlQ2FyZCwge1xuICAgICAgYWRhcHRpdmVDYXJkc0hvc3RDb25maWcsXG4gICAgICBhZGFwdGl2ZUNhcmRzUGFja2FnZTogeyBHbG9iYWxTZXR0aW5ncywgSG9zdENvbmZpZyB9LFxuICAgICAgcmVuZGVyTWFya2Rvd25Bc0hUTUwsXG4gICAgICBzZXRUYWJJbmRleEF0Q2FyZFJvb3RcbiAgICB9KTtcbiAgfSwgW1xuICAgIGFkYXB0aXZlQ2FyZCxcbiAgICBhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyxcbiAgICBHbG9iYWxTZXR0aW5ncyxcbiAgICBIb3N0Q29uZmlnLFxuICAgIHJlbmRlck1hcmtkb3duQXNIVE1MLFxuICAgIHNldFRhYkluZGV4QXRDYXJkUm9vdCxcbiAgICB1bmRvQWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kLFxuICAgIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QsXG4gICAgdW5kb0FjdGl2ZUVsZW1lbnRNb2QsXG4gICAgdW5kb0Rpc2FibGVkTW9kLFxuICAgIHVuZG9QZXJzaXN0VmFsdWVzTW9kXG4gIF0pO1xuXG4gIHVzZU1lbW8oKCkgPT4ge1xuICAgIGFkYXB0aXZlQ2FyZC5vbkV4ZWN1dGVBY3Rpb24gPSBoYW5kbGVFeGVjdXRlQWN0aW9uO1xuICB9LCBbYWRhcHRpdmVDYXJkLCBoYW5kbGVFeGVjdXRlQWN0aW9uXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IGN1cnJlbnQgfSA9IGNvbnRlbnRSZWY7XG5cbiAgICBjdXJyZW50Py5hcHBlbmRDaGlsZChlbGVtZW50KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjdXJyZW50Py5yZW1vdmVDaGlsZChlbGVtZW50KTtcbiAgICB9O1xuICB9LCBbY29udGVudFJlZiwgZWxlbWVudF0pO1xuXG4gIC8vIEFwcGx5IGFsbCBtb2RzIHJlZ2FyZGxlc3Mgd2hldGhlciB0aGUgZWxlbWVudCBjaGFuZ2VkIG9yIG5vdC5cbiAgLy8gVGhpcyBpcyBiZWNhdXNlIHdlIGhhdmUgdW5kb2VkIG1vZHMgd2hlbiB3ZSBjYWxsIHRoZSBgdXNlWFhYTW9kRWZmZWN0YCBob29rLlxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGFwcGx5QWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kKGVsZW1lbnQsIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSk7XG4gICAgYXBwbHlBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QoZWxlbWVudCk7XG4gICAgYXBwbHlBY3RpdmVFbGVtZW50TW9kKGVsZW1lbnQpO1xuICAgIGFwcGx5RGlzYWJsZWRNb2QoZWxlbWVudCwgZGlzYWJsZWQpO1xuICAgIGFwcGx5UGVyc2lzdFZhbHVlc01vZChlbGVtZW50KTtcbiAgfSwgW1xuICAgIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSxcbiAgICBhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCxcbiAgICBhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCxcbiAgICBhcHBseUFjdGl2ZUVsZW1lbnRNb2QsXG4gICAgYXBwbHlEaXNhYmxlZE1vZCxcbiAgICBhcHBseVBlcnNpc3RWYWx1ZXNNb2QsXG4gICAgZGlzYWJsZWQsXG4gICAgZWxlbWVudFxuICBdKTtcblxuICByZXR1cm4gZXJyb3JzPy5sZW5ndGggPyAoXG4gICAgbm9kZV9lbnYgPT09ICdkZXZlbG9wbWVudCcgJiYgPEVycm9yQm94IGVycm9yPXtlcnJvcnNbMF19IHR5cGU9e2xvY2FsaXplKCdBREFQVElWRV9DQVJEX0VSUk9SX0JPWF9USVRMRV9SRU5ERVInKX0gLz5cbiAgKSA6IChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoYWRhcHRpdmVDYXJkUmVuZGVyZXJTdHlsZVNldCArICcnLCAnd2ViY2hhdF9fYWRhcHRpdmUtY2FyZC1yZW5kZXJlcicpfVxuICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD59XG4gICAgICBvbktleVByZXNzPXtoYW5kbGVDbGlja0FuZEtleVByZXNzRm9yVGFwQWN0aW9uIGFzIEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pn1cbiAgICAgIHJlZj17Y29udGVudFJlZn1cbiAgICAvPlxuICApO1xufTtcblxuQWRhcHRpdmVDYXJkUmVuZGVyZXIuZGVmYXVsdFByb3BzID0ge1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWU6ICcnLFxuICBkaXNhYmxlZDogdW5kZWZpbmVkLFxuICB0YXBBY3Rpb246IHVuZGVmaW5lZFxufTtcblxuQWRhcHRpdmVDYXJkUmVuZGVyZXIucHJvcFR5cGVzID0ge1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGFkYXB0aXZlQ2FyZDogUHJvcFR5cGVzLmFueS5pc1JlcXVpcmVkLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLy8gVHlwZVNjcmlwdCBjbGFzcyBpcyBub3QgbWFwcGFibGUgdG8gUHJvcFR5cGVzLmZ1bmNcbiAgLy8gQHRzLWlnbm9yZVxuICB0YXBBY3Rpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgaW1hZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG59O1xuXG5leHBvcnQgZGVmYXVsdCBBZGFwdGl2ZUNhcmRSZW5kZXJlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQVlBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUExQkE7QUE0QkEsSUFBUUEsUUFBUixHQUFxQkMsd0NBQXJCLENBQVFELFFBQVI7QUFDQSxJQUFRRSxXQUFSLEdBQWtIQyxtQ0FBbEgsQ0FBUUQsV0FBUjtBQUFBLElBQXFCRSxZQUFyQixHQUFrSEQsbUNBQWxILENBQXFCQyxZQUFyQjtBQUFBLElBQW1DQyxvQkFBbkMsR0FBa0hGLG1DQUFsSCxDQUFtQ0Usb0JBQW5DO0FBQUEsSUFBeURDLHVCQUF6RCxHQUFrSEgsbUNBQWxILENBQXlERyx1QkFBekQ7QUFBQSxJQUFrRkMsY0FBbEYsR0FBa0hKLG1DQUFsSCxDQUFrRkksY0FBbEY7QUFBQSxJQUFrR0MsV0FBbEcsR0FBa0hMLG1DQUFsSCxDQUFrR0ssV0FBbEc7QUFFQSxJQUFNQyxRQUFRLEdBQUcseUJBQWpCOztBQVNBLElBQU1DLG9CQUFvRCxHQUFHLFNBQXZEQSxvQkFBdUQsT0FLdkQ7RUFBQSxJQUpKQyx3QkFJSSxRQUpKQSx3QkFJSTtFQUFBLElBSEpDLFlBR0ksUUFISkEsWUFHSTtFQUFBLElBRk1DLGlCQUVOLFFBRkpDLFFBRUk7RUFBQSxJQURKQyxTQUNJLFFBREpBLFNBQ0k7O0VBQ0osbUJBQWlFUCxXQUFXLEVBQTVFO0VBQUE7RUFBQSxJQUErQlEsNEJBQS9CLG9CQUFTQyxvQkFBVDs7RUFDQSw0QkFBeUMsSUFBQUMsZ0NBQUEsR0FBekM7RUFBQTtFQUFBO0VBQUEsSUFBU0MsY0FBVCwwQkFBU0EsY0FBVDtFQUFBLElBQXlCQyxVQUF6QiwwQkFBeUJBLFVBQXpCOztFQUNBLDRCQUFrQyxJQUFBQyxtQ0FBQSxHQUFsQztFQUFBO0VBQUEsSUFBT0MsdUJBQVA7O0VBQ0EsbUJBQStCcEIsV0FBVyxFQUExQztFQUFBO0VBQUEsSUFBT3FCLG9CQUFQOztFQUNBLElBQU1DLFVBQVUsR0FBRyxJQUFBQyxhQUFBLEdBQW5CO0VBQ0EsSUFBTUMsUUFBUSxHQUFHdEIsWUFBWSxFQUE3QjtFQUNBLElBQU11QixpQkFBaUIsR0FBR3RCLG9CQUFvQixFQUE5QztFQUNBLElBQU11QixvQkFBb0IsR0FBR3RCLHVCQUF1QixFQUFwRDtFQUNBLElBQU11QixXQUFXLEdBQUd0QixjQUFjLEVBQWxDO0VBRUEsSUFBTU8sUUFBUSxHQUFHUyxvQkFBb0IsSUFBSVYsaUJBQXpDO0VBQ0EsSUFBTWlCLFlBQVksR0FBRyxJQUFBQyxvQkFBQSxFQUFZaEIsU0FBWixDQUFyQjtFQUVBLElBQU1pQixXQUFXLEdBQUcsSUFBQUQsb0JBQUEsRUFBWWpCLFFBQVosQ0FBcEIsQ0FkSSxDQWdCSjtFQUNBOztFQUNBLElBQU1tQixzQkFBc0IsR0FBRyxJQUFBQyxrQkFBQSxFQUM3QixVQUFDQyxLQUFELEVBQWlCO0lBQ2YsWUFBc0JBLEtBQXRCO0lBQUEsSUFBUUMsR0FBUixTQUFRQSxHQUFSO0lBQUEsSUFBYUMsSUFBYixTQUFhQSxJQUFiO0lBQ0EsSUFBTUMsTUFBTSxHQUFHSCxLQUFLLENBQUNHLE1BQXJCLENBRmUsQ0FJZjs7SUFDQSxJQUFRQyxPQUFSLEdBQW9CZixVQUFwQixDQUFRZSxPQUFSO0lBQ0EsSUFBTUMsZ0JBQWdCLEdBQUdELE9BQU8sQ0FBQ0UsYUFBUixDQUFzQixnQ0FBdEIsQ0FBekI7O0lBRUEsSUFBSSxDQUFDRCxnQkFBTCxFQUF1QjtNQUNyQixPQUFPRSxPQUFPLENBQUNDLElBQVIsQ0FDTCxtSUFESyxDQUFQO0lBR0QsQ0FaYyxDQWNmOzs7SUFDQSxJQUFJTixJQUFJLEtBQUssVUFBYixFQUF5QjtNQUN2QixJQUFJRCxHQUFHLEtBQUssT0FBUixJQUFtQkEsR0FBRyxLQUFLLEdBQS9CLEVBQW9DO1FBQ2xDO01BQ0Q7O01BRURELEtBQUssQ0FBQ1MsY0FBTjtJQUNELENBckJjLENBdUJmO0lBQ0E7SUFDQTs7O0lBQ0EsSUFBSU4sTUFBTSxLQUFLRSxnQkFBZixFQUFpQztNQUMvQixJQUFNSyxRQUFRLEdBQUcsSUFBQUMseUNBQUEsRUFBWVIsTUFBWixDQUFqQixDQUQrQixDQUcvQjtNQUNBOztNQUNBLElBQUksT0FBT08sUUFBUCxLQUFvQixRQUFwQixJQUFnQ0EsUUFBUSxJQUFJLENBQWhELEVBQW1EO1FBQ2pEO01BQ0Q7SUFDRjs7SUFFRGxCLGlCQUFpQixDQUFDRyxZQUFZLENBQUNTLE9BQWQsQ0FBakI7SUFDQVYsV0FBVztFQUNaLENBdkM0QixFQXdDN0IsQ0FBQ0wsVUFBRCxFQUFhRyxpQkFBYixFQUFnQ0UsV0FBaEMsRUFBNkNDLFlBQTdDLENBeEM2QixDQUEvQixDQWxCSSxDQTZESjs7RUFDQSxJQUFNaUIsa0NBQWtDLEdBQUcsQ0FBQ2pDLFFBQUQsSUFBYUMsU0FBYixHQUF5QmtCLHNCQUF6QixHQUFrRGUsU0FBN0Y7RUFFQSxJQUFNQyxtQkFBbUIsR0FBRyxJQUFBZixrQkFBQSxFQUMxQixVQUFDZ0IsTUFBRCxFQUFzQztJQUNwQztJQUNBLElBQUlsQixXQUFXLENBQUNPLE9BQWhCLEVBQXlCO01BQ3ZCO0lBQ0Q7O0lBRUQsSUFBTVksY0FBYyxHQUFHRCxNQUFNLENBQUNFLGVBQVAsRUFBdkI7SUFDQSxJQUFpQkMsS0FBakIsR0FBa0NILE1BQWxDLENBQVFJLE9BQVI7SUFBQSxJQUF3QkMsS0FBeEIsR0FBa0NMLE1BQWxDLENBQXdCSyxLQUF4QixDQVBvQyxDQVNwQztJQUNBOztJQUNBLElBQUlKLGNBQWMsS0FBSyxnQkFBdkIsRUFBeUM7TUFDdkMsWUFBdUJELE1BQXZCO01BQUEsSUFBYU0sS0FBYixTQUFRQyxHQUFSO01BRUE5QixpQkFBaUIsQ0FBQztRQUNoQjBCLEtBQUssRUFBTEEsS0FEZ0I7UUFFaEJFLEtBQUssRUFBTEEsS0FGZ0I7UUFHaEJsQixJQUFJLEVBQUUsU0FIVTtRQUloQm1CLEtBQUssRUFBTEE7TUFKZ0IsQ0FBRCxDQUFqQjtJQU1ELENBVEQsTUFTTyxJQUFJTCxjQUFjLEtBQUssZUFBdkIsRUFBd0M7TUFDN0MsWUFBaUJELE1BQWpCO01BQUEsSUFBUVEsSUFBUixTQUFRQSxJQUFSOztNQUlBLElBQUksT0FBT0EsSUFBUCxLQUFnQixXQUFwQixFQUFpQztRQUMvQixJQUFJLE9BQU9BLElBQVAsS0FBZ0IsUUFBcEIsRUFBOEI7VUFDNUIvQixpQkFBaUIsQ0FBQztZQUNoQjBCLEtBQUssRUFBTEEsS0FEZ0I7WUFFaEJFLEtBQUssRUFBTEEsS0FGZ0I7WUFHaEJsQixJQUFJLEVBQUUsUUFIVTtZQUloQm1CLEtBQUssRUFBRUU7VUFKUyxDQUFELENBQWpCO1FBTUQsQ0FQRCxNQU9PLElBQUlBLElBQUksQ0FBQ0MsMEJBQVQsRUFBcUM7VUFDMUNoQyxpQkFBaUIsQ0FBQytCLElBQUksQ0FBQ0UsVUFBTixDQUFqQjtRQUNELENBRk0sTUFFQTtVQUNMakMsaUJBQWlCLENBQUM7WUFDaEIwQixLQUFLLEVBQUxBLEtBRGdCO1lBRWhCRSxLQUFLLEVBQUxBLEtBRmdCO1lBR2hCbEIsSUFBSSxFQUFFLFVBSFU7WUFJaEJtQixLQUFLLEVBQUVFO1VBSlMsQ0FBRCxDQUFqQjtRQU1EO01BQ0Y7O01BRUQ3QixXQUFXO0lBQ1osQ0ExQk0sTUEwQkE7TUFDTGEsT0FBTyxDQUFDbUIsS0FBUjtNQUNBbkIsT0FBTyxDQUFDbUIsS0FBUixDQUFjWCxNQUFkO0lBQ0Q7RUFDRixDQW5EeUIsRUFvRDFCLENBQUNsQixXQUFELEVBQWNMLGlCQUFkLEVBQWlDRSxXQUFqQyxDQXBEMEIsQ0FBNUIsQ0FoRUksQ0F1SEo7O0VBQ0EsSUFBTWlDLHFCQUFxQixHQUFHLENBQUMsQ0FBQy9DLFNBQWhDOztFQUVBLDRCQUNFLElBQUFnRCw2Q0FBQSxFQUFxQ25ELFlBQXJDLENBREY7RUFBQTtFQUFBLElBQU9vRCxnQ0FBUDtFQUFBLElBQXlDQywrQkFBekM7O0VBRUEsNEJBQ0UsSUFBQUMsZ0RBQUEsRUFBd0N0RCxZQUF4QyxDQURGO0VBQUE7RUFBQSxJQUFPdUQsbUNBQVA7RUFBQSxJQUE0Q0Msa0NBQTVDOztFQUVBLDRCQUFzRCxJQUFBQyxrQ0FBQSxFQUEwQnpELFlBQTFCLENBQXREO0VBQUE7RUFBQSxJQUFPMEQscUJBQVA7RUFBQSxJQUE4QkMsb0JBQTlCOztFQUNBLDRCQUE0QyxJQUFBQyw4QkFBQSxFQUFxQjVELFlBQXJCLENBQTVDO0VBQUE7RUFBQSxJQUFPNkQsZ0JBQVA7RUFBQSxJQUF5QkMsZUFBekI7O0VBQ0EsNEJBQXNELElBQUFDLGtDQUFBLEVBQTBCL0QsWUFBMUIsQ0FBdEQ7RUFBQTtFQUFBLElBQU9nRSxxQkFBUDtFQUFBLElBQThCQyxvQkFBOUI7O0VBRUEsZUFBeUUsSUFBQUMsY0FBQSxFQUFRLFlBQU07SUFDckZiLCtCQUErQjtJQUMvQkcsa0NBQWtDO0lBQ2xDRyxvQkFBb0I7SUFDcEJHLGVBQWU7SUFDZkcsb0JBQW9CO0lBRXBCLE9BQU8sSUFBQUUsMkJBQUEsRUFBbUJuRSxZQUFuQixFQUFpQztNQUN0Q1UsdUJBQXVCLEVBQXZCQSx1QkFEc0M7TUFFdEMwRCxvQkFBb0IsRUFBRTtRQUFFN0QsY0FBYyxFQUFkQSxjQUFGO1FBQWtCQyxVQUFVLEVBQVZBO01BQWxCLENBRmdCO01BR3RDUSxvQkFBb0IsRUFBcEJBLG9CQUhzQztNQUl0Q2tDLHFCQUFxQixFQUFyQkE7SUFKc0MsQ0FBakMsQ0FBUDtFQU1ELENBYndFLEVBYXRFLENBQ0RsRCxZQURDLEVBRURVLHVCQUZDLEVBR0RILGNBSEMsRUFJREMsVUFKQyxFQUtEUSxvQkFMQyxFQU1Ea0MscUJBTkMsRUFPREcsK0JBUEMsRUFRREcsa0NBUkMsRUFTREcsb0JBVEMsRUFVREcsZUFWQyxFQVdERyxvQkFYQyxDQWJzRSxDQUF6RTtFQUFBLElBQVFJLE9BQVIsWUFBUUEsT0FBUjtFQUFBLElBQWlCQyxNQUFqQixZQUFpQkEsTUFBakI7O0VBMkJBLElBQUFKLGNBQUEsRUFBUSxZQUFNO0lBQ1psRSxZQUFZLENBQUN1RSxlQUFiLEdBQStCbEMsbUJBQS9CO0VBQ0QsQ0FGRCxFQUVHLENBQUNyQyxZQUFELEVBQWVxQyxtQkFBZixDQUZIO0VBSUEsSUFBQW1DLHNCQUFBLEVBQWdCLFlBQU07SUFDcEIsSUFBUTdDLE9BQVIsR0FBb0JmLFVBQXBCLENBQVFlLE9BQVI7SUFFQUEsT0FBTyxTQUFQLElBQUFBLE9BQU8sV0FBUCxZQUFBQSxPQUFPLENBQUU4QyxXQUFULENBQXFCSixPQUFyQjtJQUVBLE9BQU8sWUFBTTtNQUNYMUMsT0FBTyxTQUFQLElBQUFBLE9BQU8sV0FBUCxZQUFBQSxPQUFPLENBQUUrQyxXQUFULENBQXFCTCxPQUFyQjtJQUNELENBRkQ7RUFHRCxDQVJELEVBUUcsQ0FBQ3pELFVBQUQsRUFBYXlELE9BQWIsQ0FSSCxFQWpLSSxDQTJLSjtFQUNBOztFQUNBLElBQUFHLHNCQUFBLEVBQWdCLFlBQU07SUFDcEJwQixnQ0FBZ0MsQ0FBQ2lCLE9BQUQsRUFBVXRFLHdCQUFWLENBQWhDO0lBQ0F3RCxtQ0FBbUMsQ0FBQ2MsT0FBRCxDQUFuQztJQUNBWCxxQkFBcUIsQ0FBQ1csT0FBRCxDQUFyQjtJQUNBUixnQkFBZ0IsQ0FBQ1EsT0FBRCxFQUFVbkUsUUFBVixDQUFoQjtJQUNBOEQscUJBQXFCLENBQUNLLE9BQUQsQ0FBckI7RUFDRCxDQU5ELEVBTUcsQ0FDRHRFLHdCQURDLEVBRURxRCxnQ0FGQyxFQUdERyxtQ0FIQyxFQUlERyxxQkFKQyxFQUtERyxnQkFMQyxFQU1ERyxxQkFOQyxFQU9EOUQsUUFQQyxFQVFEbUUsT0FSQyxDQU5IO0VBaUJBLE9BQU9DLE1BQU0sU0FBTixJQUFBQSxNQUFNLFdBQU4sSUFBQUEsTUFBTSxDQUFFSyxNQUFSLEdBQ0w5RSxRQUFRLEtBQUssYUFBYixpQkFBOEIsNkJBQUMsUUFBRDtJQUFVLEtBQUssRUFBRXlFLE1BQU0sQ0FBQyxDQUFELENBQXZCO0lBQTRCLElBQUksRUFBRXhELFFBQVEsQ0FBQyxzQ0FBRDtFQUExQyxFQUR6QixnQkFHTDtJQUNFLFNBQVMsRUFBRSxJQUFBOEQsbUJBQUEsRUFBV3hFLDRCQUE0QixHQUFHLEVBQTFDLEVBQThDLGlDQUE5QyxDQURiO0lBRUUsT0FBTyxFQUFFK0Isa0NBRlg7SUFHRSxVQUFVLEVBQUVBLGtDQUhkO0lBSUUsR0FBRyxFQUFFdkI7RUFKUCxFQUhGO0FBVUQsQ0E3TUQ7O0FBK01BZCxvQkFBb0IsQ0FBQytFLFlBQXJCLEdBQW9DO0VBQ2xDOUUsd0JBQXdCLEVBQUUsRUFEUTtFQUVsQ0csUUFBUSxFQUFFa0MsU0FGd0I7RUFHbENqQyxTQUFTLEVBQUVpQztBQUh1QixDQUFwQztBQU1BdEMsb0JBQW9CLENBQUNnRixTQUFyQixHQUFpQztFQUMvQi9FLHdCQUF3QixFQUFFZ0Ysa0JBQUEsQ0FBVUMsTUFETDtFQUUvQmhGLFlBQVksRUFBRStFLGtCQUFBLENBQVVFLEdBQVYsQ0FBY0MsVUFGRztFQUcvQmhGLFFBQVEsRUFBRTZFLGtCQUFBLENBQVVJLElBSFc7RUFLL0I7RUFDQTtFQUNBaEYsU0FBUyxFQUFFNEUsa0JBQUEsQ0FBVUssS0FBVixDQUFnQjtJQUN6QjNDLEtBQUssRUFBRXNDLGtCQUFBLENBQVVDLE1BRFE7SUFFekJyQyxLQUFLLEVBQUVvQyxrQkFBQSxDQUFVQyxNQUZRO0lBR3pCdkQsSUFBSSxFQUFFc0Qsa0JBQUEsQ0FBVUMsTUFBVixDQUFpQkUsVUFIRTtJQUl6QnRDLEtBQUssRUFBRW1DLGtCQUFBLENBQVVDO0VBSlEsQ0FBaEI7QUFQb0IsQ0FBakM7ZUFlZWxGLG9CIn0=
283
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFcnJvckJveCIsIkNvbXBvbmVudHMiLCJ1c2VEaXNhYmxlZCIsImhvb2tzIiwidXNlTG9jYWxpemVyIiwidXNlUGVyZm9ybUNhcmRBY3Rpb24iLCJ1c2VSZW5kZXJNYXJrZG93bkFzSFRNTCIsInVzZVNjcm9sbFRvRW5kIiwidXNlU3R5bGVTZXQiLCJub2RlX2VudiIsIkFkYXB0aXZlQ2FyZFJlbmRlcmVyIiwiYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lIiwiYWRhcHRpdmVDYXJkIiwiZGlzYWJsZWRGcm9tUHJvcHMiLCJkaXNhYmxlZCIsInRhcEFjdGlvbiIsImFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQiLCJhZGFwdGl2ZUNhcmRSZW5kZXJlciIsInVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIiwiR2xvYmFsU2V0dGluZ3MiLCJIb3N0Q29uZmlnIiwidXNlQWRhcHRpdmVDYXJkc0hvc3RDb25maWciLCJhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyIsImRpc2FibGVkRnJvbUNvbXBvc2VyIiwiY29udGVudFJlZiIsInVzZVJlZiIsImxvY2FsaXplIiwicGVyZm9ybUNhcmRBY3Rpb24iLCJyZW5kZXJNYXJrZG93bkFzSFRNTCIsInNjcm9sbFRvRW5kIiwidGFwQWN0aW9uUmVmIiwidXNlVmFsdWVSZWYiLCJkaXNhYmxlZFJlZiIsImhhbmRsZUNsaWNrQW5kS2V5UHJlc3MiLCJ1c2VDYWxsYmFjayIsImV2ZW50Iiwia2V5IiwidHlwZSIsInRhcmdldCIsImN1cnJlbnQiLCJhZGFwdGl2ZUNhcmRSb290IiwicXVlcnlTZWxlY3RvciIsImNvbnNvbGUiLCJ3YXJuIiwicHJldmVudERlZmF1bHQiLCJ0YWJJbmRleCIsImdldFRhYkluZGV4IiwiaGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiIsInVuZGVmaW5lZCIsImhhbmRsZUV4ZWN1dGVBY3Rpb24iLCJhY3Rpb24iLCJhY3Rpb25UeXBlTmFtZSIsImdldEpzb25UeXBlTmFtZSIsImltYWdlIiwiaWNvblVybCIsInRpdGxlIiwidmFsdWUiLCJ1cmwiLCJkYXRhIiwiX19pc0JvdEZyYW1ld29ya0NhcmRBY3Rpb24iLCJjYXJkQWN0aW9uIiwiZXJyb3IiLCJzZXRUYWJJbmRleEF0Q2FyZFJvb3QiLCJ1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QiLCJhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCIsInVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QiLCJ1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QiLCJhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCIsInVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QiLCJ1c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0IiwiYXBwbHlBY3RpdmVFbGVtZW50TW9kIiwidW5kb0FjdGl2ZUVsZW1lbnRNb2QiLCJ1c2VEaXNhYmxlZE1vZEVmZmVjdCIsImFwcGx5RGlzYWJsZWRNb2QiLCJ1bmRvRGlzYWJsZWRNb2QiLCJ1c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0IiwiYXBwbHlQZXJzaXN0VmFsdWVzTW9kIiwidW5kb1BlcnNpc3RWYWx1ZXNNb2QiLCJ1c2VSb2xlTW9kRWZmZWN0IiwiYXBwbHlSb2xlTW9kIiwidW5kb1JvbGVNb2QiLCJ1c2VNZW1vIiwicmVuZGVyQWRhcHRpdmVDYXJkIiwiYWRhcHRpdmVDYXJkc1BhY2thZ2UiLCJlbGVtZW50IiwiZXJyb3JzIiwib25FeGVjdXRlQWN0aW9uIiwidXNlTGF5b3V0RWZmZWN0IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImxlbmd0aCIsImNsYXNzTmFtZXMiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJhbnkiLCJpc1JlcXVpcmVkIiwiYm9vbCIsInNoYXBlIl0sInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRpdmVDYXJkcy9BdHRhY2htZW50L0FkYXB0aXZlQ2FyZFJlbmRlcmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbLTEsIDAsIDJdIH1dICovXG5cbmltcG9ydCB7IEFjdGlvbiBhcyBBZGFwdGl2ZUNhcmRBY3Rpb24sIEFkYXB0aXZlQ2FyZCwgT3BlblVybEFjdGlvbiwgU3VibWl0QWN0aW9uIH0gZnJvbSAnYWRhcHRpdmVjYXJkcyc7XG5pbXBvcnQgeyBDb21wb25lbnRzLCBnZXRUYWJJbmRleCwgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb21wb25lbnQnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIEtleWJvYXJkRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICBWRkNcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RMaW5lQ2FyZEFjdGlvbiB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuXG5pbXBvcnQgeyBCb3RGcmFtZXdvcmtDYXJkQWN0aW9uIH0gZnJvbSAnLi9BZGFwdGl2ZUNhcmRCdWlsZGVyJztcbmltcG9ydCByZW5kZXJBZGFwdGl2ZUNhcmQgZnJvbSAnLi9wcml2YXRlL3JlbmRlckFkYXB0aXZlQ2FyZCc7XG5pbXBvcnQgdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0JztcbmltcG9ydCB1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QnO1xuaW1wb3J0IHVzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0JztcbmltcG9ydCB1c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyBmcm9tICcuLi9ob29rcy91c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyc7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UgZnJvbSAnLi4vaG9va3MvdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UnO1xuaW1wb3J0IHVzZURpc2FibGVkTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlRGlzYWJsZWRNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0JztcbmltcG9ydCB1c2VSb2xlTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlUm9sZU1vZEVmZmVjdCc7XG5pbXBvcnQgdXNlVmFsdWVSZWYgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy9wcml2YXRlL3VzZVZhbHVlUmVmJztcblxuY29uc3QgeyBFcnJvckJveCB9ID0gQ29tcG9uZW50cztcbmNvbnN0IHsgdXNlRGlzYWJsZWQsIHVzZUxvY2FsaXplciwgdXNlUGVyZm9ybUNhcmRBY3Rpb24sIHVzZVJlbmRlck1hcmtkb3duQXNIVE1MLCB1c2VTY3JvbGxUb0VuZCwgdXNlU3R5bGVTZXQgfSA9IGhvb2tzO1xuXG5jb25zdCBub2RlX2VudiA9IHByb2Nlc3MuZW52Lm5vZGVfZW52IHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WO1xuXG50eXBlIEFkYXB0aXZlQ2FyZFJlbmRlcmVyUHJvcHMgPSB7XG4gIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZT86IHN0cmluZztcbiAgYWRhcHRpdmVDYXJkOiBBZGFwdGl2ZUNhcmQ7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdGFwQWN0aW9uPzogRGlyZWN0TGluZUNhcmRBY3Rpb247XG59O1xuXG5jb25zdCBBZGFwdGl2ZUNhcmRSZW5kZXJlcjogVkZDPEFkYXB0aXZlQ2FyZFJlbmRlcmVyUHJvcHM+ID0gKHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lLFxuICBhZGFwdGl2ZUNhcmQsXG4gIGRpc2FibGVkOiBkaXNhYmxlZEZyb21Qcm9wcyxcbiAgdGFwQWN0aW9uXG59KSA9PiB7XG4gIGNvbnN0IFt7IGFkYXB0aXZlQ2FyZFJlbmRlcmVyOiBhZGFwdGl2ZUNhcmRSZW5kZXJlclN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgW3sgR2xvYmFsU2V0dGluZ3MsIEhvc3RDb25maWcgfV0gPSB1c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSgpO1xuICBjb25zdCBbYWRhcHRpdmVDYXJkc0hvc3RDb25maWddID0gdXNlQWRhcHRpdmVDYXJkc0hvc3RDb25maWcoKTtcbiAgY29uc3QgW2Rpc2FibGVkRnJvbUNvbXBvc2VyXSA9IHVzZURpc2FibGVkKCk7XG4gIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHBlcmZvcm1DYXJkQWN0aW9uID0gdXNlUGVyZm9ybUNhcmRBY3Rpb24oKTtcbiAgY29uc3QgcmVuZGVyTWFya2Rvd25Bc0hUTUwgPSB1c2VSZW5kZXJNYXJrZG93bkFzSFRNTCgpO1xuICBjb25zdCBzY3JvbGxUb0VuZCA9IHVzZVNjcm9sbFRvRW5kKCk7XG5cbiAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZEZyb21Db21wb3NlciB8fCBkaXNhYmxlZEZyb21Qcm9wcztcbiAgY29uc3QgdGFwQWN0aW9uUmVmID0gdXNlVmFsdWVSZWYodGFwQWN0aW9uKTtcblxuICBjb25zdCBkaXNhYmxlZFJlZiA9IHVzZVZhbHVlUmVmKGRpc2FibGVkKTtcblxuICAvLyBUT0RPOiBbUDJdICMzMTk5IFdlIHNob3VsZCBjb25zaWRlciB1c2luZyBgYWRhcHRpdmVDYXJkLnNlbGVjdEFjdGlvbmAgaW5zdGVhZC5cbiAgLy8gVGhlIG51bGwgY2hlY2sgZm9yIFwidGFwQWN0aW9uXCIgaXMgaW4gXCJoYW5kbGVDbGlja0FuZEtleVByZXNzRm9yVGFwQWN0aW9uXCIuXG4gIGNvbnN0IGhhbmRsZUNsaWNrQW5kS2V5UHJlc3MgPSB1c2VDYWxsYmFjazxLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD4gfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD4+KFxuICAgIChldmVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgeyBrZXksIHR5cGUgfSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgICAgIC8vIFNvbWUgaXRlbXMsIGUuZy4gdGFwcGFibGUgdGV4dCwgY2Fubm90IGJlIGRpc2FibGVkIHRocnUgRE9NIGF0dHJpYnV0ZXNcbiAgICAgIGNvbnN0IHsgY3VycmVudCB9ID0gY29udGVudFJlZjtcbiAgICAgIGNvbnN0IGFkYXB0aXZlQ2FyZFJvb3QgPSBjdXJyZW50LnF1ZXJ5U2VsZWN0b3IoJy5hYy1hZGFwdGl2ZUNhcmRbdGFiaW5kZXg9XCIwXCJdJyk7XG5cbiAgICAgIGlmICghYWRhcHRpdmVDYXJkUm9vdCkge1xuICAgICAgICByZXR1cm4gY29uc29sZS53YXJuKFxuICAgICAgICAgICdib3RmcmFtZXdvcmstd2ViY2hhdDogTm8gQWRhcHRpdmUgQ2FyZCByb290IGNvbnRhaW5lciBjYW4gYmUgZm91bmQ7IHRoZSBjYXJkIGlzIHByb2JhYmx5IG9uIGFuIHVuc3VwcG9ydGVkIEFkYXB0aXZlIENhcmQgdmVyc2lvbi4nXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIEZvciBcImtleXByZXNzXCIgZXZlbnQsIHdlIG9ubHkgbGlzdGVuIHRvIEVOVEVSIGFuZCBTUEFDRUJBUiBrZXkuXG4gICAgICBpZiAodHlwZSA9PT0gJ2tleXByZXNzJykge1xuICAgICAgICBpZiAoa2V5ICE9PSAnRW50ZXInICYmIGtleSAhPT0gJyAnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHBlcmZvcm1DYXJkQWN0aW9uIGlmIGVpdGhlcjpcbiAgICAgIC8vIDEuIFdlIGFyZSBvbiB0aGUgdGFyZ2V0LCBvclxuICAgICAgLy8gMi4gVGhlIGV2ZW50LWRpc3BhdGNoaW5nIGVsZW1lbnQgaXMgbm90IGludGVyYWN0aXZlXG4gICAgICBpZiAodGFyZ2V0ICE9PSBhZGFwdGl2ZUNhcmRSb290KSB7XG4gICAgICAgIGNvbnN0IHRhYkluZGV4ID0gZ2V0VGFiSW5kZXgodGFyZ2V0KTtcblxuICAgICAgICAvLyBJZiB0aGUgdXNlciBpcyBjbGlja2luZyBvbiBzb21ldGhpbmcgdGhhdCBpcyBhbHJlYWR5IGNsaWNrYWJsZSwgZG8gbm90IGFsbG93IHRoZW0gdG8gY2xpY2sgdGhlIGNhcmQuXG4gICAgICAgIC8vIEUuZy4gYSBoZXJvIGNhcmQgY2FuIGJlIHRhcHBhYmxlLCBhbmQgaW1hZ2UgYW5kIGJ1dHRvbnMgaW5zaWRlIHRoZSBoZXJvIGNhcmQgY2FuIGFsc28gYmUgdGFwcGFibGUuXG4gICAgICAgIGlmICh0eXBlb2YgdGFiSW5kZXggPT09ICdudW1iZXInICYmIHRhYkluZGV4ID49IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcGVyZm9ybUNhcmRBY3Rpb24odGFwQWN0aW9uUmVmLmN1cnJlbnQpO1xuICAgICAgc2Nyb2xsVG9FbmQoKTtcbiAgICB9LFxuICAgIFtjb250ZW50UmVmLCBwZXJmb3JtQ2FyZEFjdGlvbiwgc2Nyb2xsVG9FbmQsIHRhcEFjdGlvblJlZl1cbiAgKTtcblxuICAvLyBPbmx5IGxpc3RlbiB0byBldmVudCBpZiBpdCBpcyBub3QgZGlzYWJsZWQgYW5kIGhhdmUgXCJ0YXBBY3Rpb25cIiBwcm9wLlxuICBjb25zdCBoYW5kbGVDbGlja0FuZEtleVByZXNzRm9yVGFwQWN0aW9uID0gIWRpc2FibGVkICYmIHRhcEFjdGlvbiA/IGhhbmRsZUNsaWNrQW5kS2V5UHJlc3MgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgaGFuZGxlRXhlY3V0ZUFjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChhY3Rpb246IEFkYXB0aXZlQ2FyZEFjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgLy8gU29tZSBpdGVtcywgZS5nLiB0YXBwYWJsZSBpbWFnZSwgY2Fubm90IGJlIGRpc2FibGVkIHRocnUgRE9NIGF0dHJpYnV0ZXNcbiAgICAgIGlmIChkaXNhYmxlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWN0aW9uVHlwZU5hbWUgPSBhY3Rpb24uZ2V0SnNvblR5cGVOYW1lKCk7XG4gICAgICBjb25zdCB7IGljb25Vcmw6IGltYWdlLCB0aXRsZSB9ID0gYWN0aW9uO1xuXG4gICAgICAvLyBXZSBjYW5ub3QgdXNlIFwiaW5zdGFuY2VvZlwiIGNoZWNrIGhlcmUsIGJlY2F1c2Ugd2ViIGRldnMgbWF5IGJyaW5nIHRoZWlyIG93biB2ZXJzaW9uIG9mIEFkYXB0aXZlIENhcmRzIHBhY2thZ2UuXG4gICAgICAvLyBXZSBuZWVkIHRvIGNoZWNrIHVzaW5nIFwiZ2V0SnNvblR5cGVOYW1lKClcIiBpbnN0ZWFkLlxuICAgICAgaWYgKGFjdGlvblR5cGVOYW1lID09PSAnQWN0aW9uLk9wZW5VcmwnKSB7XG4gICAgICAgIGNvbnN0IHsgdXJsOiB2YWx1ZSB9ID0gYWN0aW9uIGFzIE9wZW5VcmxBY3Rpb247XG5cbiAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oe1xuICAgICAgICAgIGltYWdlLFxuICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgIHR5cGU6ICdvcGVuVXJsJyxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uVHlwZU5hbWUgPT09ICdBY3Rpb24uU3VibWl0Jykge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGFjdGlvbiBhcyBTdWJtaXRBY3Rpb24gYXMge1xuICAgICAgICAgIGRhdGE6IHN0cmluZyB8IEJvdEZyYW1ld29ya0NhcmRBY3Rpb247XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHBlcmZvcm1DYXJkQWN0aW9uKHtcbiAgICAgICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgICB0eXBlOiAnaW1CYWNrJyxcbiAgICAgICAgICAgICAgdmFsdWU6IGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5fX2lzQm90RnJhbWV3b3JrQ2FyZEFjdGlvbikge1xuICAgICAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oZGF0YS5jYXJkQWN0aW9uKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oe1xuICAgICAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgIHR5cGU6ICdwb3N0QmFjaycsXG4gICAgICAgICAgICAgIHZhbHVlOiBkYXRhXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzY3JvbGxUb0VuZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgV2ViIENoYXQ6IHJlY2VpdmVkIHVua25vd24gYWN0aW9uIGZyb20gQWRhcHRpdmUgQ2FyZHNgKTtcbiAgICAgICAgY29uc29sZS5lcnJvcihhY3Rpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2Rpc2FibGVkUmVmLCBwZXJmb3JtQ2FyZEFjdGlvbiwgc2Nyb2xsVG9FbmRdXG4gICk7XG5cbiAgLy8gRm9yIGFjY2Vzc2liaWxpdHkgaXNzdWUgIzEzNDAsIGB0YWJpbmRleD1cIjBcImAgbXVzdCBub3QgYmUgc2V0IGZvciB0aGUgcm9vdCBjb250YWluZXIgaWYgaXQgaXMgbm90IGludGVyYWN0aXZlLlxuICBjb25zdCBzZXRUYWJJbmRleEF0Q2FyZFJvb3QgPSAhIXRhcEFjdGlvbjtcblxuICBjb25zdCBbYXBwbHlBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QsIHVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RdID1cbiAgICB1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5QWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kLCB1bmRvQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kXSA9XG4gICAgdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseUFjdGl2ZUVsZW1lbnRNb2QsIHVuZG9BY3RpdmVFbGVtZW50TW9kXSA9IHVzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5RGlzYWJsZWRNb2QsIHVuZG9EaXNhYmxlZE1vZF0gPSB1c2VEaXNhYmxlZE1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlQZXJzaXN0VmFsdWVzTW9kLCB1bmRvUGVyc2lzdFZhbHVlc01vZF0gPSB1c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseVJvbGVNb2QsIHVuZG9Sb2xlTW9kXSA9IHVzZVJvbGVNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcblxuICBjb25zdCB7IGVsZW1lbnQsIGVycm9ycyB9OiB7IGVsZW1lbnQ/OiBIVE1MRWxlbWVudDsgZXJyb3JzPzogRXJyb3JbXSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCgpO1xuICAgIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QoKTtcbiAgICB1bmRvQWN0aXZlRWxlbWVudE1vZCgpO1xuICAgIHVuZG9EaXNhYmxlZE1vZCgpO1xuICAgIHVuZG9QZXJzaXN0VmFsdWVzTW9kKCk7XG4gICAgdW5kb1JvbGVNb2QoKTtcblxuICAgIHJldHVybiByZW5kZXJBZGFwdGl2ZUNhcmQoYWRhcHRpdmVDYXJkLCB7XG4gICAgICBhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyxcbiAgICAgIGFkYXB0aXZlQ2FyZHNQYWNrYWdlOiB7IEdsb2JhbFNldHRpbmdzLCBIb3N0Q29uZmlnIH0sXG4gICAgICByZW5kZXJNYXJrZG93bkFzSFRNTCxcbiAgICAgIHNldFRhYkluZGV4QXRDYXJkUm9vdFxuICAgIH0pO1xuICB9LCBbXG4gICAgYWRhcHRpdmVDYXJkLFxuICAgIGFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnLFxuICAgIEdsb2JhbFNldHRpbmdzLFxuICAgIEhvc3RDb25maWcsXG4gICAgcmVuZGVyTWFya2Rvd25Bc0hUTUwsXG4gICAgc2V0VGFiSW5kZXhBdENhcmRSb290LFxuICAgIHVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QsXG4gICAgdW5kb0FjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCxcbiAgICB1bmRvQWN0aXZlRWxlbWVudE1vZCxcbiAgICB1bmRvRGlzYWJsZWRNb2QsXG4gICAgdW5kb1BlcnNpc3RWYWx1ZXNNb2QsXG4gICAgdW5kb1JvbGVNb2RcbiAgXSk7XG5cbiAgdXNlTWVtbygoKSA9PiB7XG4gICAgYWRhcHRpdmVDYXJkLm9uRXhlY3V0ZUFjdGlvbiA9IGhhbmRsZUV4ZWN1dGVBY3Rpb247XG4gIH0sIFthZGFwdGl2ZUNhcmQsIGhhbmRsZUV4ZWN1dGVBY3Rpb25dKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudCB9ID0gY29udGVudFJlZjtcblxuICAgIGN1cnJlbnQ/LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGN1cnJlbnQ/LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICAgIH07XG4gIH0sIFtjb250ZW50UmVmLCBlbGVtZW50XSk7XG5cbiAgLy8gQXBwbHkgYWxsIG1vZHMgcmVnYXJkbGVzcyB3aGV0aGVyIHRoZSBlbGVtZW50IGNoYW5nZWQgb3Igbm90LlxuICAvLyBUaGlzIGlzIGJlY2F1c2Ugd2UgaGF2ZSB1bmRvZWQgbW9kcyB3aGVuIHdlIGNhbGwgdGhlIGB1c2VYWFhNb2RFZmZlY3RgIGhvb2suXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgYXBwbHlBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QoZWxlbWVudCwgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lKTtcbiAgICBhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZChlbGVtZW50KTtcbiAgICBhcHBseUFjdGl2ZUVsZW1lbnRNb2QoZWxlbWVudCk7XG4gICAgYXBwbHlEaXNhYmxlZE1vZChlbGVtZW50LCBkaXNhYmxlZCk7XG4gICAgYXBwbHlQZXJzaXN0VmFsdWVzTW9kKGVsZW1lbnQpO1xuICAgIGFwcGx5Um9sZU1vZChlbGVtZW50KTtcbiAgfSwgW1xuICAgIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSxcbiAgICBhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCxcbiAgICBhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCxcbiAgICBhcHBseUFjdGl2ZUVsZW1lbnRNb2QsXG4gICAgYXBwbHlEaXNhYmxlZE1vZCxcbiAgICBhcHBseVBlcnNpc3RWYWx1ZXNNb2QsXG4gICAgYXBwbHlSb2xlTW9kLFxuICAgIGRpc2FibGVkLFxuICAgIGVsZW1lbnRcbiAgXSk7XG5cbiAgcmV0dXJuIGVycm9ycz8ubGVuZ3RoID8gKFxuICAgIG5vZGVfZW52ID09PSAnZGV2ZWxvcG1lbnQnICYmIDxFcnJvckJveCBlcnJvcj17ZXJyb3JzWzBdfSB0eXBlPXtsb2NhbGl6ZSgnQURBUFRJVkVfQ0FSRF9FUlJPUl9CT1hfVElUTEVfUkVOREVSJyl9IC8+XG4gICkgOiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQgKyAnJywgJ3dlYmNoYXRfX2FkYXB0aXZlLWNhcmQtcmVuZGVyZXInKX1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb24gYXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+fVxuICAgICAgb25LZXlQcmVzcz17aGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiBhcyBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD59XG4gICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgLz5cbiAgKTtcbn07XG5cbkFkYXB0aXZlQ2FyZFJlbmRlcmVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lOiAnJyxcbiAgZGlzYWJsZWQ6IHVuZGVmaW5lZCxcbiAgdGFwQWN0aW9uOiB1bmRlZmluZWRcbn07XG5cbkFkYXB0aXZlQ2FyZFJlbmRlcmVyLnByb3BUeXBlcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBhZGFwdGl2ZUNhcmQ6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gIC8vIFR5cGVTY3JpcHQgY2xhc3MgaXMgbm90IG1hcHBhYmxlIHRvIFByb3BUeXBlcy5mdW5jXG4gIC8vIEB0cy1pZ25vcmVcbiAgdGFwQWN0aW9uOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGltYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQWRhcHRpdmVDYXJkUmVuZGVyZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFZQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBM0JBO0FBNkJBLElBQVFBLFFBQVIsR0FBcUJDLHdDQUFyQixDQUFRRCxRQUFSO0FBQ0EsSUFBUUUsV0FBUixHQUFrSEMsbUNBQWxILENBQVFELFdBQVI7QUFBQSxJQUFxQkUsWUFBckIsR0FBa0hELG1DQUFsSCxDQUFxQkMsWUFBckI7QUFBQSxJQUFtQ0Msb0JBQW5DLEdBQWtIRixtQ0FBbEgsQ0FBbUNFLG9CQUFuQztBQUFBLElBQXlEQyx1QkFBekQsR0FBa0hILG1DQUFsSCxDQUF5REcsdUJBQXpEO0FBQUEsSUFBa0ZDLGNBQWxGLEdBQWtISixtQ0FBbEgsQ0FBa0ZJLGNBQWxGO0FBQUEsSUFBa0dDLFdBQWxHLEdBQWtITCxtQ0FBbEgsQ0FBa0dLLFdBQWxHO0FBRUEsSUFBTUMsUUFBUSxHQUFHLHlCQUFqQjs7QUFTQSxJQUFNQyxvQkFBb0QsR0FBRyxTQUF2REEsb0JBQXVELE9BS3ZEO0VBQUEsSUFKSkMsd0JBSUksUUFKSkEsd0JBSUk7RUFBQSxJQUhKQyxZQUdJLFFBSEpBLFlBR0k7RUFBQSxJQUZNQyxpQkFFTixRQUZKQyxRQUVJO0VBQUEsSUFESkMsU0FDSSxRQURKQSxTQUNJOztFQUNKLG1CQUFpRVAs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
@@ -51,19 +51,21 @@ function walkAllItems(node, fn) {
51
51
  var AdaptiveCardChoiceSetInput = function AdaptiveCardChoiceSetInput(_ref) {
52
52
  var _ref$input = _ref.input,
53
53
  choices = _ref$input.choices,
54
- defaultValue = _ref$input.defaultValue;
54
+ defaultValue = _ref$input.defaultValue,
55
+ label = _ref$input.label;
55
56
  var labelId = (0, _useUniqueId.default)('webchat__id');
56
57
  var defaultChoice = choices.find(function (_ref2) {
57
58
  var value = _ref2.value;
58
59
  return defaultValue === value || !defaultValue && !value;
59
60
  });
60
61
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("select", {
61
- "aria-labelledby": defaultChoice ? labelId : undefined,
62
+ "aria-label": label,
63
+ "aria-labelledby": !label && defaultChoice ? labelId : undefined,
62
64
  defaultValue: defaultValue,
63
65
  tabIndex: -1
64
66
  }, choices.map(function (choice) {
65
67
  return /*#__PURE__*/_react.default.createElement("option", {
66
- id: choice === defaultChoice ? labelId : undefined,
68
+ id: !label && choice === defaultChoice ? labelId : undefined,
67
69
  key: choice.value,
68
70
  value: choice.value
69
71
  }, choice.title);
@@ -77,6 +79,7 @@ AdaptiveCardChoiceSetInput.propTypes = {
77
79
  value: _propTypes.default.any
78
80
  })),
79
81
  defaultValue: _propTypes.default.any,
82
+ label: _propTypes.default.string,
80
83
  value: _propTypes.default.any
81
84
  }).isRequired
82
85
  };
@@ -118,15 +121,15 @@ var AdaptiveCardAttachment = function AdaptiveCardAttachment(_ref3) {
118
121
  return input instanceof ChoiceSetInput ? /*#__PURE__*/_react.default.createElement(AdaptiveCardChoiceSetInput, {
119
122
  input: input,
120
123
  key: index
121
- }) : input instanceof DateInput ? /*#__PURE__*/_react.default.createElement("div", {
124
+ }) : input instanceof DateInput ? /*#__PURE__*/_react.default.createElement("label", {
122
125
  key: index
123
- }, /*#__PURE__*/_react.default.createElement("input", {
126
+ }, input.title, /*#__PURE__*/_react.default.createElement("input", {
124
127
  placeholder: input.placeholder,
125
128
  tabIndex: -1,
126
129
  type: "date"
127
- })) : input instanceof NumberInput ? /*#__PURE__*/_react.default.createElement("div", {
130
+ })) : input instanceof NumberInput ? /*#__PURE__*/_react.default.createElement("label", {
128
131
  key: index
129
- }, /*#__PURE__*/_react.default.createElement("input", {
132
+ }, input.title, /*#__PURE__*/_react.default.createElement("input", {
130
133
  placeholder: input.placeholder,
131
134
  tabIndex: -1,
132
135
  type: "number"
@@ -135,19 +138,19 @@ var AdaptiveCardAttachment = function AdaptiveCardAttachment(_ref3) {
135
138
  }, /*#__PURE__*/_react.default.createElement("button", {
136
139
  tabIndex: -1,
137
140
  type: "button"
138
- }, input.title)) : input instanceof TextInput ? /*#__PURE__*/_react.default.createElement("div", {
141
+ }, input.title)) : input instanceof TextInput ? /*#__PURE__*/_react.default.createElement("label", {
139
142
  key: index
140
- }, /*#__PURE__*/_react.default.createElement("input", {
143
+ }, input.title, /*#__PURE__*/_react.default.createElement("input", {
141
144
  placeholder: input.placeholder,
142
145
  tabIndex: -1,
143
146
  type: "text"
144
- })) : input instanceof TimeInput ? /*#__PURE__*/_react.default.createElement("div", {
147
+ })) : input instanceof TimeInput ? /*#__PURE__*/_react.default.createElement("label", {
145
148
  key: index
146
- }, /*#__PURE__*/_react.default.createElement("input", {
149
+ }, input.title, /*#__PURE__*/_react.default.createElement("input", {
147
150
  placeholder: input.placeholder,
148
151
  tabIndex: -1,
149
152
  type: "time"
150
- })) : input instanceof ToggleInput ? /*#__PURE__*/_react.default.createElement("div", {
153
+ })) : input instanceof ToggleInput ? /*#__PURE__*/_react.default.createElement("label", {
151
154
  key: index
152
155
  }, input.title, /*#__PURE__*/_react.default.createElement("input", {
153
156
  defaultChecked: input.value === input.valueOn,
@@ -162,4 +165,4 @@ AdaptiveCardAttachment.propTypes = {
162
165
  };
163
166
  var _default = AdaptiveCardAttachment;
164
167
  exports.default = _default;
165
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMb2NhbGl6ZXIiLCJob29rcyIsIndhbGtBbGxJdGVtcyIsIm5vZGUiLCJmbiIsImdldEl0ZW1BdCIsImdldEl0ZW1Db3VudCIsImNvdW50IiwiaW5kZXgiLCJnZXRBY3Rpb25BdCIsImdldEFjdGlvbkNvdW50IiwiQWRhcHRpdmVDYXJkQ2hvaWNlU2V0SW5wdXQiLCJpbnB1dCIsImNob2ljZXMiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbElkIiwidXNlVW5pcXVlSWQiLCJkZWZhdWx0Q2hvaWNlIiwiZmluZCIsInZhbHVlIiwidW5kZWZpbmVkIiwibWFwIiwiY2hvaWNlIiwidGl0bGUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImFycmF5T2YiLCJzdHJpbmciLCJhbnkiLCJpc1JlcXVpcmVkIiwiQWRhcHRpdmVDYXJkQXR0YWNobWVudCIsImNvbnRlbnQiLCJsb2NhbGl6ZSIsInBhcnNlQWRhcHRpdmVDYXJkSlNPTiIsInVzZVBhcnNlQWRhcHRpdmVDYXJkSlNPTiIsInVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIiwiQ2hvaWNlU2V0SW5wdXQiLCJEYXRlSW5wdXQiLCJOdW1iZXJJbnB1dCIsIk9wZW5VcmxBY3Rpb24iLCJTaG93Q2FyZEFjdGlvbiIsIlN1Ym1pdEFjdGlvbiIsIlRleHRJbnB1dCIsIlRpbWVJbnB1dCIsIlRvZ2dsZUlucHV0IiwiY2FyZCIsInVzZU1lbW8iLCJpZ25vcmVFcnJvcnMiLCJpbnB1dHMiLCJwdXNoIiwiY2FyZExhYmVsIiwic3BlYWsiLCJwbGFjZWhvbGRlciIsInZhbHVlT24iXSwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXIvQWRhcHRpdmVDYXJkQXR0YWNobWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2ZvcmJpZC1kb20tcHJvcHMgKi9cbmltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29tcG9uZW50JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIGZyb20gJy4uL2hvb2tzL3VzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlJztcbmltcG9ydCB1c2VQYXJzZUFkYXB0aXZlQ2FyZEpTT04gZnJvbSAnLi4vaG9va3MvaW50ZXJuYWwvdXNlUGFyc2VBZGFwdGl2ZUNhcmRKU09OJztcbmltcG9ydCB1c2VVbmlxdWVJZCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VVbmlxdWVJZCc7XG5cbmNvbnN0IHsgdXNlTG9jYWxpemVyIH0gPSBob29rcztcblxuLy8gUGVyZm9ybSBhIGRlcHRoLWZpcnN0IHNlYXJjaCBvZiB0aGUgQWRhcHRpdmUgQ2FyZCB0cmVlLlxuZnVuY3Rpb24gd2Fsa0FsbEl0ZW1zKG5vZGUsIGZuKSB7XG4gIGZuKG5vZGUpO1xuXG4gIGlmIChub2RlLmdldEl0ZW1BdCAmJiBub2RlLmdldEl0ZW1Db3VudCkge1xuICAgIGZvciAobGV0IGNvdW50ID0gbm9kZS5nZXRJdGVtQ291bnQoKSwgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50OyBpbmRleCsrKSB7XG4gICAgICB3YWxrQWxsSXRlbXMobm9kZS5nZXRJdGVtQXQoaW5kZXgpLCBmbik7XG4gICAgfVxuICB9XG5cbiAgaWYgKG5vZGUuZ2V0QWN0aW9uQXQgJiYgbm9kZS5nZXRBY3Rpb25Db3VudCkge1xuICAgIGZvciAobGV0IGNvdW50ID0gbm9kZS5nZXRBY3Rpb25Db3VudCgpLCBpbmRleCA9IDA7IGluZGV4IDwgY291bnQ7IGluZGV4KyspIHtcbiAgICAgIGZuKG5vZGUuZ2V0QWN0aW9uQXQoaW5kZXgpKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgQWRhcHRpdmVDYXJkQ2hvaWNlU2V0SW5wdXQgPSAoeyBpbnB1dDogeyBjaG9pY2VzLCBkZWZhdWx0VmFsdWUgfSB9KSA9PiB7XG4gIGNvbnN0IGxhYmVsSWQgPSB1c2VVbmlxdWVJZCgnd2ViY2hhdF9faWQnKTtcbiAgY29uc3QgZGVmYXVsdENob2ljZSA9IGNob2ljZXMuZmluZCgoeyB2YWx1ZSB9KSA9PiBkZWZhdWx0VmFsdWUgPT09IHZhbHVlIHx8ICghZGVmYXVsdFZhbHVlICYmICF2YWx1ZSkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxzZWxlY3QgYXJpYS1sYWJlbGxlZGJ5PXtkZWZhdWx0Q2hvaWNlID8gbGFiZWxJZCA6IHVuZGVmaW5lZH0gZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9IHRhYkluZGV4PXstMX0+XG4gICAgICAgIHtjaG9pY2VzLm1hcChjaG9pY2UgPT4gKFxuICAgICAgICAgIDxvcHRpb24gaWQ9e2Nob2ljZSA9PT0gZGVmYXVsdENob2ljZSA/IGxhYmVsSWQgOiB1bmRlZmluZWR9IGtleT17Y2hvaWNlLnZhbHVlfSB2YWx1ZT17Y2hvaWNlLnZhbHVlfT5cbiAgICAgICAgICAgIHtjaG9pY2UudGl0bGV9XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICkpfVxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5BZGFwdGl2ZUNhcmRDaG9pY2VTZXRJbnB1dC5wcm9wVHlwZXMgPSB7XG4gIGlucHV0OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGNob2ljZXM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIHZhbHVlOiBQcm9wVHlwZXMuYW55XG4gICAgICB9KVxuICAgICksXG4gICAgZGVmYXVsdFZhbHVlOiBQcm9wVHlwZXMuYW55LFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuYW55XG4gIH0pLmlzUmVxdWlyZWRcbn07XG5cbmNvbnN0IEFkYXB0aXZlQ2FyZEF0dGFjaG1lbnQgPSAoeyBjb250ZW50IH0pID0+IHtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgcGFyc2VBZGFwdGl2ZUNhcmRKU09OID0gdXNlUGFyc2VBZGFwdGl2ZUNhcmRKU09OKCk7XG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICBDaG9pY2VTZXRJbnB1dCxcbiAgICAgIERhdGVJbnB1dCxcbiAgICAgIE51bWJlcklucHV0LFxuICAgICAgT3BlblVybEFjdGlvbixcbiAgICAgIFNob3dDYXJkQWN0aW9uLFxuICAgICAgU3VibWl0QWN0aW9uLFxuICAgICAgVGV4dElucHV0LFxuICAgICAgVGltZUlucHV0LFxuICAgICAgVG9nZ2xlSW5wdXRcbiAgICB9XG4gIF0gPSB1c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSgpO1xuXG4gIGNvbnN0IGNhcmQgPSB1c2VNZW1vKCgpID0+IHBhcnNlQWRhcHRpdmVDYXJkSlNPTihjb250ZW50LCB7IGlnbm9yZUVycm9yczogdHJ1ZSB9KSwgW2NvbnRlbnQsIHBhcnNlQWRhcHRpdmVDYXJkSlNPTl0pO1xuICBjb25zdCBpbnB1dHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dHMgPSBbXTtcblxuICAgIHdhbGtBbGxJdGVtcyhjYXJkLCBub2RlID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIENob2ljZVNldElucHV0IHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBEYXRlSW5wdXQgfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIE51bWJlcklucHV0IHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBPcGVuVXJsQWN0aW9uIHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBTaG93Q2FyZEFjdGlvbiB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgU3VibWl0QWN0aW9uIHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBUZXh0SW5wdXQgfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIFRpbWVJbnB1dCB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgVG9nZ2xlSW5wdXRcbiAgICAgICkge1xuICAgICAgICBpbnB1dHMucHVzaChub2RlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBpbnB1dHM7XG4gIH0sIFtcbiAgICBjYXJkLFxuICAgIENob2ljZVNldElucHV0LFxuICAgIERhdGVJbnB1dCxcbiAgICBOdW1iZXJJbnB1dCxcbiAgICBPcGVuVXJsQWN0aW9uLFxuICAgIFNob3dDYXJkQWN0aW9uLFxuICAgIFN1Ym1pdEFjdGlvbixcbiAgICBUZXh0SW5wdXQsXG4gICAgVGltZUlucHV0LFxuICAgIFRvZ2dsZUlucHV0XG4gIF0pO1xuXG4gIGNvbnN0IGNhcmRMYWJlbCA9IGxvY2FsaXplKCdBVFRBQ0hNRU5UX0NBUkQnLCBjYXJkLnNwZWFrIHx8ICcnLCAnJywgJycpO1xuXG4gIHJldHVybiAoXG4gICAgPGFydGljbGU+XG4gICAgICA8ZGl2PntjYXJkTGFiZWx9PC9kaXY+XG4gICAgICB7aW5wdXRzLm1hcCgoaW5wdXQsIGluZGV4KSA9PlxuICAgICAgICBpbnB1dCBpbnN0YW5jZW9mIENob2ljZVNldElucHV0ID8gKFxuICAgICAgICAgIDxBZGFwdGl2ZUNhcmRDaG9pY2VTZXRJbnB1dCBpbnB1dD17aW5wdXR9IGtleT17aW5kZXh9IC8+XG4gICAgICAgICkgOiBpbnB1dCBpbnN0YW5jZW9mIERhdGVJbnB1dCA/IChcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgPGlucHV0IHBsYWNlaG9sZGVyPXtpbnB1dC5wbGFjZWhvbGRlcn0gdGFiSW5kZXg9ey0xfSB0eXBlPVwiZGF0ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiBpbnB1dCBpbnN0YW5jZW9mIE51bWJlcklucHV0ID8gKFxuICAgICAgICAgIDxkaXYga2V5PXtpbmRleH0+XG4gICAgICAgICAgICA8aW5wdXQgcGxhY2Vob2xkZXI9e2lucHV0LnBsYWNlaG9sZGVyfSB0YWJJbmRleD17LTF9IHR5cGU9XCJudW1iZXJcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBPcGVuVXJsQWN0aW9uIHx8IGlucHV0IGluc3RhbmNlb2YgU2hvd0NhcmRBY3Rpb24gfHwgaW5wdXQgaW5zdGFuY2VvZiBTdWJtaXRBY3Rpb24gPyAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIDxidXR0b24gdGFiSW5kZXg9ey0xfSB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgIHtpbnB1dC50aXRsZX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBUZXh0SW5wdXQgPyAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cInRleHRcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBUaW1lSW5wdXQgPyAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cInRpbWVcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBUb2dnbGVJbnB1dCA/IChcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2lucHV0LnRpdGxlfVxuICAgICAgICAgICAgPGlucHV0IGRlZmF1bHRDaGVja2VkPXtpbnB1dC52YWx1ZSA9PT0gaW5wdXQudmFsdWVPbn0gdGFiSW5kZXg9ey0xfSB0eXBlPVwiY2hlY2tib3hcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogKFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgIClcbiAgICAgICl9XG4gICAgPC9hcnRpY2xlPlxuICApO1xufTtcblxuQWRhcHRpdmVDYXJkQXR0YWNobWVudC5wcm9wVHlwZXMgPSB7XG4gIGNvbnRlbnQ6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQWRhcHRpdmVDYXJkQXR0YWNobWVudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOzs7Ozs7QUFSQTs7QUFDQTtBQVNBLElBQVFBLFlBQVIsR0FBeUJDLG1DQUF6QixDQUFRRCxZQUFSLEMsQ0FFQTs7QUFDQSxTQUFTRSxZQUFULENBQXNCQyxJQUF0QixFQUE0QkMsRUFBNUIsRUFBZ0M7RUFDOUJBLEVBQUUsQ0FBQ0QsSUFBRCxDQUFGOztFQUVBLElBQUlBLElBQUksQ0FBQ0UsU0FBTCxJQUFrQkYsSUFBSSxDQUFDRyxZQUEzQixFQUF5QztJQUN2QyxLQUFLLElBQUlDLEtBQUssR0FBR0osSUFBSSxDQUFDRyxZQUFMLEVBQVosRUFBaUNFLEtBQUssR0FBRyxDQUE5QyxFQUFpREEsS0FBSyxHQUFHRCxLQUF6RCxFQUFnRUMsS0FBSyxFQUFyRSxFQUF5RTtNQUN2RU4sWUFBWSxDQUFDQyxJQUFJLENBQUNFLFNBQUwsQ0FBZUcsS0FBZixDQUFELEVBQXdCSixFQUF4QixDQUFaO0lBQ0Q7RUFDRjs7RUFFRCxJQUFJRCxJQUFJLENBQUNNLFdBQUwsSUFBb0JOLElBQUksQ0FBQ08sY0FBN0IsRUFBNkM7SUFDM0MsS0FBSyxJQUFJSCxNQUFLLEdBQUdKLElBQUksQ0FBQ08sY0FBTCxFQUFaLEVBQW1DRixNQUFLLEdBQUcsQ0FBaEQsRUFBbURBLE1BQUssR0FBR0QsTUFBM0QsRUFBa0VDLE1BQUssRUFBdkUsRUFBMkU7TUFDekVKLEVB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
168
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMb2NhbGl6ZXIiLCJob29rcyIsIndhbGtBbGxJdGVtcyIsIm5vZGUiLCJmbiIsImdldEl0ZW1BdCIsImdldEl0ZW1Db3VudCIsImNvdW50IiwiaW5kZXgiLCJnZXRBY3Rpb25BdCIsImdldEFjdGlvbkNvdW50IiwiQWRhcHRpdmVDYXJkQ2hvaWNlU2V0SW5wdXQiLCJpbnB1dCIsImNob2ljZXMiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbCIsImxhYmVsSWQiLCJ1c2VVbmlxdWVJZCIsImRlZmF1bHRDaG9pY2UiLCJmaW5kIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJtYXAiLCJjaG9pY2UiLCJ0aXRsZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXJyYXlPZiIsInN0cmluZyIsImFueSIsImlzUmVxdWlyZWQiLCJBZGFwdGl2ZUNhcmRBdHRhY2htZW50IiwiY29udGVudCIsImxvY2FsaXplIiwicGFyc2VBZGFwdGl2ZUNhcmRKU09OIiwidXNlUGFyc2VBZGFwdGl2ZUNhcmRKU09OIiwidXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UiLCJDaG9pY2VTZXRJbnB1dCIsIkRhdGVJbnB1dCIsIk51bWJlcklucHV0IiwiT3BlblVybEFjdGlvbiIsIlNob3dDYXJkQWN0aW9uIiwiU3VibWl0QWN0aW9uIiwiVGV4dElucHV0IiwiVGltZUlucHV0IiwiVG9nZ2xlSW5wdXQiLCJjYXJkIiwidXNlTWVtbyIsImlnbm9yZUVycm9ycyIsImlucHV0cyIsInB1c2giLCJjYXJkTGFiZWwiLCJzcGVhayIsInBsYWNlaG9sZGVyIiwidmFsdWVPbiJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvQXR0YWNobWVudEZvclNjcmVlblJlYWRlci9BZGFwdGl2ZUNhcmRBdHRhY2htZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZm9yYmlkLWRvbS1wcm9wcyAqL1xuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb21wb25lbnQnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UgZnJvbSAnLi4vaG9va3MvdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UnO1xuaW1wb3J0IHVzZVBhcnNlQWRhcHRpdmVDYXJkSlNPTiBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VQYXJzZUFkYXB0aXZlQ2FyZEpTT04nO1xuaW1wb3J0IHVzZVVuaXF1ZUlkIGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVVuaXF1ZUlkJztcblxuY29uc3QgeyB1c2VMb2NhbGl6ZXIgfSA9IGhvb2tzO1xuXG4vLyBQZXJmb3JtIGEgZGVwdGgtZmlyc3Qgc2VhcmNoIG9mIHRoZSBBZGFwdGl2ZSBDYXJkIHRyZWUuXG5mdW5jdGlvbiB3YWxrQWxsSXRlbXMobm9kZSwgZm4pIHtcbiAgZm4obm9kZSk7XG5cbiAgaWYgKG5vZGUuZ2V0SXRlbUF0ICYmIG5vZGUuZ2V0SXRlbUNvdW50KSB7XG4gICAgZm9yIChsZXQgY291bnQgPSBub2RlLmdldEl0ZW1Db3VudCgpLCBpbmRleCA9IDA7IGluZGV4IDwgY291bnQ7IGluZGV4KyspIHtcbiAgICAgIHdhbGtBbGxJdGVtcyhub2RlLmdldEl0ZW1BdChpbmRleCksIGZuKTtcbiAgICB9XG4gIH1cblxuICBpZiAobm9kZS5nZXRBY3Rpb25BdCAmJiBub2RlLmdldEFjdGlvbkNvdW50KSB7XG4gICAgZm9yIChsZXQgY291bnQgPSBub2RlLmdldEFjdGlvbkNvdW50KCksIGluZGV4ID0gMDsgaW5kZXggPCBjb3VudDsgaW5kZXgrKykge1xuICAgICAgZm4obm9kZS5nZXRBY3Rpb25BdChpbmRleCkpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBBZGFwdGl2ZUNhcmRDaG9pY2VTZXRJbnB1dCA9ICh7IGlucHV0OiB7IGNob2ljZXMsIGRlZmF1bHRWYWx1ZSwgbGFiZWwgfSB9KSA9PiB7XG4gIGNvbnN0IGxhYmVsSWQgPSB1c2VVbmlxdWVJZCgnd2ViY2hhdF9faWQnKTtcbiAgY29uc3QgZGVmYXVsdENob2ljZSA9IGNob2ljZXMuZmluZCgoeyB2YWx1ZSB9KSA9PiBkZWZhdWx0VmFsdWUgPT09IHZhbHVlIHx8ICghZGVmYXVsdFZhbHVlICYmICF2YWx1ZSkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxzZWxlY3RcbiAgICAgICAgYXJpYS1sYWJlbD17bGFiZWx9XG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT17IWxhYmVsICYmIGRlZmF1bHRDaG9pY2UgPyBsYWJlbElkIDogdW5kZWZpbmVkfVxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgPlxuICAgICAgICB7Y2hvaWNlcy5tYXAoY2hvaWNlID0+IChcbiAgICAgICAgICA8b3B0aW9uIGlkPXshbGFiZWwgJiYgY2hvaWNlID09PSBkZWZhdWx0Q2hvaWNlID8gbGFiZWxJZCA6IHVuZGVmaW5lZH0ga2V5PXtjaG9pY2UudmFsdWV9IHZhbHVlPXtjaG9pY2UudmFsdWV9PlxuICAgICAgICAgICAge2Nob2ljZS50aXRsZX1cbiAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgKSl9XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkFkYXB0aXZlQ2FyZENob2ljZVNldElucHV0LnByb3BUeXBlcyA9IHtcbiAgaW5wdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY2hvaWNlczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgdmFsdWU6IFByb3BUeXBlcy5hbnlcbiAgICAgIH0pXG4gICAgKSxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5hbnksXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5hbnlcbiAgfSkuaXNSZXF1aXJlZFxufTtcblxuY29uc3QgQWRhcHRpdmVDYXJkQXR0YWNobWVudCA9ICh7IGNvbnRlbnQgfSkgPT4ge1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuICBjb25zdCBwYXJzZUFkYXB0aXZlQ2FyZEpTT04gPSB1c2VQYXJzZUFkYXB0aXZlQ2FyZEpTT04oKTtcbiAgY29uc3QgW1xuICAgIHtcbiAgICAgIENob2ljZVNldElucHV0LFxuICAgICAgRGF0ZUlucHV0LFxuICAgICAgTnVtYmVySW5wdXQsXG4gICAgICBPcGVuVXJsQWN0aW9uLFxuICAgICAgU2hvd0NhcmRBY3Rpb24sXG4gICAgICBTdWJtaXRBY3Rpb24sXG4gICAgICBUZXh0SW5wdXQsXG4gICAgICBUaW1lSW5wdXQsXG4gICAgICBUb2dnbGVJbnB1dFxuICAgIH1cbiAgXSA9IHVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlKCk7XG5cbiAgY29uc3QgY2FyZCA9IHVzZU1lbW8oKCkgPT4gcGFyc2VBZGFwdGl2ZUNhcmRKU09OKGNvbnRlbnQsIHsgaWdub3JlRXJyb3JzOiB0cnVlIH0pLCBbY29udGVudCwgcGFyc2VBZGFwdGl2ZUNhcmRKU09OXSk7XG4gIGNvbnN0IGlucHV0cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0cyA9IFtdO1xuXG4gICAgd2Fsa0FsbEl0ZW1zKGNhcmQsIG5vZGUgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgQ2hvaWNlU2V0SW5wdXQgfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIERhdGVJbnB1dCB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgTnVtYmVySW5wdXQgfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIE9wZW5VcmxBY3Rpb24gfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIFNob3dDYXJkQWN0aW9uIHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBTdWJtaXRBY3Rpb24gfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIFRleHRJbnB1dCB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgVGltZUlucHV0IHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBUb2dnbGVJbnB1dFxuICAgICAgKSB7XG4gICAgICAgIGlucHV0cy5wdXNoKG5vZGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlucHV0cztcbiAgfSwgW1xuICAgIGNhcmQsXG4gICAgQ2hvaWNlU2V0SW5wdXQsXG4gICAgRGF0ZUlucHV0LFxuICAgIE51bWJlcklucHV0LFxuICAgIE9wZW5VcmxBY3Rpb24sXG4gICAgU2hvd0NhcmRBY3Rpb24sXG4gICAgU3VibWl0QWN0aW9uLFxuICAgIFRleHRJbnB1dCxcbiAgICBUaW1lSW5wdXQsXG4gICAgVG9nZ2xlSW5wdXRcbiAgXSk7XG5cbiAgY29uc3QgY2FyZExhYmVsID0gbG9jYWxpemUoJ0FUVEFDSE1FTlRfQ0FSRCcsIGNhcmQuc3BlYWsgfHwgJycsICcnLCAnJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8YXJ0aWNsZT5cbiAgICAgIDxkaXY+e2NhcmRMYWJlbH08L2Rpdj5cbiAgICAgIHtpbnB1dHMubWFwKChpbnB1dCwgaW5kZXgpID0+XG4gICAgICAgIGlucHV0IGluc3RhbmNlb2YgQ2hvaWNlU2V0SW5wdXQgPyAoXG4gICAgICAgICAgPEFkYXB0aXZlQ2FyZENob2ljZVNldElucHV0IGlucHV0PXtpbnB1dH0ga2V5PXtpbmRleH0gLz5cbiAgICAgICAgKSA6IGlucHV0IGluc3RhbmNlb2YgRGF0ZUlucHV0ID8gKFxuICAgICAgICAgIDxsYWJlbCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIHtpbnB1dC50aXRsZX1cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cImRhdGVcIiAvPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICkgOiBpbnB1dCBpbnN0YW5jZW9mIE51bWJlcklucHV0ID8gKFxuICAgICAgICAgIDxsYWJlbCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIHtpbnB1dC50aXRsZX1cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cIm51bWJlclwiIC8+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgKSA6IGlucHV0IGluc3RhbmNlb2YgT3BlblVybEFjdGlvbiB8fCBpbnB1dCBpbnN0YW5jZW9mIFNob3dDYXJkQWN0aW9uIHx8IGlucHV0IGluc3RhbmNlb2YgU3VibWl0QWN0aW9uID8gKFxuICAgICAgICAgIDxkaXYga2V5PXtpbmRleH0+XG4gICAgICAgICAgICA8YnV0dG9uIHRhYkluZGV4PXstMX0gdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICB7aW5wdXQudGl0bGV9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSA6IGlucHV0IGluc3RhbmNlb2YgVGV4dElucHV0ID8gKFxuICAgICAgICAgIDxsYWJlbCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIHtpbnB1dC50aXRsZX1cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cInRleHRcIiAvPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICkgOiBpbnB1dCBpbnN0YW5jZW9mIFRpbWVJbnB1dCA/IChcbiAgICAgICAgICA8bGFiZWwga2V5PXtpbmRleH0+XG4gICAgICAgICAgICB7aW5wdXQudGl0bGV9XG4gICAgICAgICAgICA8aW5wdXQgcGxhY2Vob2xkZXI9e2lucHV0LnBsYWNlaG9sZGVyfSB0YWJJbmRleD17LTF9IHR5cGU9XCJ0aW1lXCIgLz5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBUb2dnbGVJbnB1dCA/IChcbiAgICAgICAgICA8bGFiZWwga2V5PXtpbmRleH0+XG4gICAgICAgICAgICB7aW5wdXQudGl0bGV9XG4gICAgICAgICAgICA8aW5wdXQgZGVmYXVsdENoZWNrZWQ9e2lucHV0LnZhbHVlID09PSBpbnB1dC52YWx1ZU9ufSB0YWJJbmRleD17LTF9IHR5cGU9XCJjaGVja2JveFwiIC8+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBmYWxzZVxuICAgICAgICApXG4gICAgICApfVxuICAgIDwvYXJ0aWNsZT5cbiAgKTtcbn07XG5cbkFkYXB0aXZlQ2FyZEF0dGFjaG1lbnQucHJvcFR5cGVzID0ge1xuICBjb250ZW50OiBQcm9wVHlwZXMuYW55LmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEFkYXB0aXZlQ2FyZEF0dGFjaG1lbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7O0FBUkE7O0FBQ0E7QUFTQSxJQUFRQSxZQUFSLEdBQXlCQyxtQ0FBekIsQ0FBUUQsWUFBUixDLENBRUE7O0FBQ0EsU0FBU0UsWUFBVCxDQUFzQkMsSUFBdEIsRUFBNEJDLEVBQTVCLEVBQWdDO0VBQzlCQSxFQUFFLENBQUNELElBQUQsQ0FBRjs7RUFFQSxJQUFJQSxJQUFJLENBQUNFLFNBQUwsSUFBa0JGLElBQUksQ0FBQ0csWUFBM0IsRUFBeUM7SUFDdkMsS0FBSyxJQUFJQyxLQUFLLEdBQUdKLElBQUksQ0FBQ0csWUFBTCxFQUFaLEVBQWlDRSxLQUFLLEdBQUcsQ0FBOUMsRUFBaURBLEtBQUssR0FBR0QsS0FBekQsRUFBZ0VDLEtBQUssRUFBckUsRUFBeUU7TUFDdkVOLFlB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
@@ -52,16 +52,16 @@ function _default(_ref) {
52
52
  // The following styles are copied from :disabled via Chromium.
53
53
  '& .ac-pushButton, & input, & select, & textarea': {
54
54
  '&[aria-disabled="true"]': {
55
- backgroundColor: '#EBEBE4',
56
- borderColor: '#A9A9A9',
55
+ backgroundColor: 'rgba(239, 239, 239, 0.3)',
56
+ borderColor: 'rgba(118, 118, 118, 0.3)',
57
57
  borderStyle: 'solid',
58
58
  borderWidth: 1,
59
59
  color: '#545454'
60
60
  }
61
61
  },
62
62
  '& .ac-pushButton[aria-disabled="true"]': {
63
- backgroundColor: '#F0F0F0',
64
- color: '#6D6D6D'
63
+ backgroundColor: '#EEE',
64
+ color: '#4F4F4F'
65
65
  },
66
66
  '& .ac-pushButton[aria-pressed="true"]': {
67
67
  backgroundColor: cardPushButtonBackgroundColor,
@@ -74,4 +74,4 @@ function _default(_ref) {
74
74
  }
75
75
  };
76
76
  }
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvciIsImNhcmRQdXNoQnV0dG9uVGV4dENvbG9yIiwiYWNjZW50IiwicGFkZGluZ1JlZ3VsYXIiLCJwcmltYXJ5Rm9udCIsImJveFNpemluZyIsImZvbnRGYW1pbHkiLCJwYWRkaW5nIiwiYXBwZWFyYW5jZSIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclN0eWxlIiwiYm9yZGVyV2lkdGgiLCJjb2xvciIsImZvbnRXZWlnaHQiLCJib3JkZXJDb2xvciJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvU3R5bGVzL1N0eWxlU2V0L0FkYXB0aXZlQ2FyZFJlbmRlcmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGdWxsQnVuZGxlU3R5bGVPcHRpb25zIGZyb20gJy4uLy4uLy4uL3R5cGVzL0Z1bGxCdW5kbGVTdHlsZU9wdGlvbnMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoe1xuICBjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcixcbiAgY2FyZFB1c2hCdXR0b25UZXh0Q29sb3IsXG4gIGFjY2VudCxcbiAgcGFkZGluZ1JlZ3VsYXIsXG4gIHByaW1hcnlGb250XG59OiBGdWxsQnVuZGxlU3R5bGVPcHRpb25zKSB7XG4gIHJldHVybiB7XG4gICAgJyYud2ViY2hhdF9fYWRhcHRpdmUtY2FyZC1yZW5kZXJlcic6IHtcbiAgICAgIC8vIFJlbGF0ZWQgdG8gIzQwNzUuXG4gICAgICAvLyBBZGFwdGl2ZSBDYXJkcyBhc3N1bWUgaXRzIGhvc3QgaXMgaW4gXCJmb3JjZWQgYm9yZGVyLWJveFwiIG1vZGUuXG4gICAgICAvLyBJbiBDU1MsIHRoZSBkZWZhdWx0IGlzIFwiY29udGVudC1ib3hcIiBtb2RlLlxuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2JveC1zaXppbmcjdmFsdWVzXG4gICAgICAnJiAqJzoge1xuICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94J1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLWlucHV0LCAmIC5hYy1pbmxpbmVBY3Rpb25CdXR0b24sICYgLmFjLXF1aWNrQWN0aW9uQnV0dG9uJzoge1xuICAgICAgICBmb250RmFtaWx5OiBwcmltYXJ5Rm9udFxuICAgICAgfSxcblxuICAgICAgJyYgLmFjLW11bHRpY2hvaWNlSW5wdXQnOiB7XG4gICAgICAgIHBhZGRpbmc6IHBhZGRpbmdSZWd1bGFyXG4gICAgICB9LFxuXG4gICAgICAnJiAuYWMtcHVzaEJ1dHRvbic6IHtcbiAgICAgICAgYXBwZWFyYW5jZTogJ25vbmUnLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdXaGl0ZScsXG4gICAgICAgIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgICAgY29sb3I6IGFjY2VudCxcbiAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICBwYWRkaW5nOiBwYWRkaW5nUmVndWxhclxuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNFNTAwMDAnLFxuICAgICAgICBjb2xvcjogJ3doaXRlJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmU6aG92ZXIsICYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmU6YWN0aXZlJzoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjQkYwMDAwJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyMwMDc4RDcnLFxuICAgICAgICBjb2xvcjogJ3doaXRlJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmU6aG92ZXIsICYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmU6YWN0aXZlJzoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDA2QUJDJ1xuICAgICAgfSxcblxuICAgICAgLy8gVGhlIGZvbGxvd2luZyBzdHlsZXMgYXJlIGNvcGllZCBmcm9tIDpkaXNhYmxlZCB2aWEgQ2hyb21pdW0uXG5cbiAgICAgICcmIC5hYy1wdXNoQnV0dG9uLCAmIGlucHV0LCAmIHNlbGVjdCwgJiB0ZXh0YXJlYSc6IHtcbiAgICAgICAgJyZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0nOiB7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0VCRUJFNCcsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6ICcjQTlBOUE5JyxcbiAgICAgICAgICBib3JkZXJTdHlsZTogJ3NvbGlkJyxcbiAgICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgICAgICBjb2xvcjogJyM1NDU0NTQnXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgICcmIC5hYy1wdXNoQnV0dG9uW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdJzoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRjBGMEYwJyxcbiAgICAgICAgY29sb3I6ICcjNkQ2RDZEJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b25bYXJpYS1wcmVzc2VkPVwidHJ1ZVwiXSc6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcixcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNhcmRQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yLFxuICAgICAgICBjb2xvcjogY2FyZFB1c2hCdXR0b25UZXh0Q29sb3JcbiAgICAgIH0sXG5cbiAgICAgICcmIGlucHV0W2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdJzoge1xuICAgICAgICBwYWRkaW5nOiAnMnB4IDFweCdcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFZSx3QkFNWTtFQUFBLElBTHpCQSw2QkFLeUIsUUFMekJBLDZCQUt5QjtFQUFBLElBSnpCQyx1QkFJeUIsUUFKekJBLHVCQUl5QjtFQUFBLElBSHpCQyxNQUd5QixRQUh6QkEsTUFHeUI7RUFBQSxJQUZ6QkMsY0FFeUIsUUFGekJBLGNBRXlCO0VBQUEsSUFEekJDLFdBQ3lCLFFBRHpCQSxXQUN5QjtFQUN6QixPQUFPO0lBQ0wscUNBQXFDO01BQ25DO01BQ0E7TUFDQTtNQUNBO01BQ0EsT0FBTztRQUNMQyxTQUFTLEVBQUU7TUFETixDQUw0QjtNQVNuQyxrRUFBa0U7UUFDaEVDLFVBQVUsRUFBRUY7TUFEb0QsQ0FUL0I7TUFhbkMsMEJBQTBCO1FBQ3hCRyxPQUFPLEVBQUVKO01BRGUsQ0FiUztNQWlCbkMsb0JBQW9CO1FBQ2xCSyxVQUFVLEVBQUUsTUFETTtRQUVsQkMsZUFBZSxFQUFFLE9BRkM7UUFHbEJDLFdBQVcsRUFBRSxPQUhLO1FBSWxCQyxXQUFXLEVBQUUsQ0FKSztRQUtsQkMsS0FBSyxFQUFFVixNQUxXO1FBTWxCVyxVQUFVLEVBQUUsR0FOTTtRQU9sQk4sT0FBTyxFQUFFSjtNQVBTLENBakJlO01BMkJuQyxzQ0FBc0M7UUFDcENNLGVBQWUsRUFBRSxTQURtQjtRQUVwQ0csS0FBSyxFQUFFO01BRjZCLENBM0JIO01BZ0NuQyx1RkFBdUY7UUFDckZILGVBQWUsRUFBRTtNQURvRSxDQWhDcEQ7TUFvQ25DLG1DQUFtQztRQUNqQ0EsZUFBZSxFQUFFLFNBRGdCO1FBRWpDRyxLQUFLLEVBQUU7TUFGMEIsQ0FwQ0E7TUF5Q25DLGlGQUFpRjtRQUMvRUgsZUFBZSxFQUFFO01BRDhELENBekM5QztNQTZDbkM7TUFFQSxtREFBbUQ7UUFDakQsMkJBQTJCO1VBQ3pCQSxlQUFlLEVBQUUsU0FEUTtVQUV6QkssV0FBVyxFQUFFLFNBRlk7VUFHekJKLFdBQVcsRUFBRSxPQUhZO1VBSXpCQyxXQUFXLEVBQUUsQ0FKWTtVQUt6QkMsS0FBSyxFQUFFO1FBTGtCO01BRHNCLENBL0NoQjtNQXlEbkMsMENBQTBDO1FBQ3hDSCxlQUFlLEVBQUUsU0FEdUI7UUFFeENHLEtBQUssRUFBRTtNQUZpQyxDQXpEUDtNQThEbkMseUNBQXlDO1FBQ3ZDSCxlQUFlLEVBQUVULDZCQURzQjtRQUV2Q2MsV0FBVyxFQUFFZCw2QkFGMEI7UUFHdkNZLEtBQUssRUFBRVg7TUFIZ0MsQ0E5RE47TUFvRW5DLGlDQUFpQztRQUMvQk0sT0FBTyxFQUFFO01BRHNCO0lBcEVFO0VBRGhDLENBQVA7QUEwRUQifQ==
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvciIsImNhcmRQdXNoQnV0dG9uVGV4dENvbG9yIiwiYWNjZW50IiwicGFkZGluZ1JlZ3VsYXIiLCJwcmltYXJ5Rm9udCIsImJveFNpemluZyIsImZvbnRGYW1pbHkiLCJwYWRkaW5nIiwiYXBwZWFyYW5jZSIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclN0eWxlIiwiYm9yZGVyV2lkdGgiLCJjb2xvciIsImZvbnRXZWlnaHQiLCJib3JkZXJDb2xvciJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvU3R5bGVzL1N0eWxlU2V0L0FkYXB0aXZlQ2FyZFJlbmRlcmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGdWxsQnVuZGxlU3R5bGVPcHRpb25zIGZyb20gJy4uLy4uLy4uL3R5cGVzL0Z1bGxCdW5kbGVTdHlsZU9wdGlvbnMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoe1xuICBjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcixcbiAgY2FyZFB1c2hCdXR0b25UZXh0Q29sb3IsXG4gIGFjY2VudCxcbiAgcGFkZGluZ1JlZ3VsYXIsXG4gIHByaW1hcnlGb250XG59OiBGdWxsQnVuZGxlU3R5bGVPcHRpb25zKSB7XG4gIHJldHVybiB7XG4gICAgJyYud2ViY2hhdF9fYWRhcHRpdmUtY2FyZC1yZW5kZXJlcic6IHtcbiAgICAgIC8vIFJlbGF0ZWQgdG8gIzQwNzUuXG4gICAgICAvLyBBZGFwdGl2ZSBDYXJkcyBhc3N1bWUgaXRzIGhvc3QgaXMgaW4gXCJmb3JjZWQgYm9yZGVyLWJveFwiIG1vZGUuXG4gICAgICAvLyBJbiBDU1MsIHRoZSBkZWZhdWx0IGlzIFwiY29udGVudC1ib3hcIiBtb2RlLlxuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2JveC1zaXppbmcjdmFsdWVzXG4gICAgICAnJiAqJzoge1xuICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94J1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLWlucHV0LCAmIC5hYy1pbmxpbmVBY3Rpb25CdXR0b24sICYgLmFjLXF1aWNrQWN0aW9uQnV0dG9uJzoge1xuICAgICAgICBmb250RmFtaWx5OiBwcmltYXJ5Rm9udFxuICAgICAgfSxcblxuICAgICAgJyYgLmFjLW11bHRpY2hvaWNlSW5wdXQnOiB7XG4gICAgICAgIHBhZGRpbmc6IHBhZGRpbmdSZWd1bGFyXG4gICAgICB9LFxuXG4gICAgICAnJiAuYWMtcHVzaEJ1dHRvbic6IHtcbiAgICAgICAgYXBwZWFyYW5jZTogJ25vbmUnLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdXaGl0ZScsXG4gICAgICAgIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgICAgY29sb3I6IGFjY2VudCxcbiAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICBwYWRkaW5nOiBwYWRkaW5nUmVndWxhclxuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNFNTAwMDAnLFxuICAgICAgICBjb2xvcjogJ3doaXRlJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmU6aG92ZXIsICYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmU6YWN0aXZlJzoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjQkYwMDAwJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyMwMDc4RDcnLFxuICAgICAgICBjb2xvcjogJ3doaXRlJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmU6aG92ZXIsICYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmU6YWN0aXZlJzoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDA2QUJDJ1xuICAgICAgfSxcblxuICAgICAgLy8gVGhlIGZvbGxvd2luZyBzdHlsZXMgYXJlIGNvcGllZCBmcm9tIDpkaXNhYmxlZCB2aWEgQ2hyb21pdW0uXG5cbiAgICAgICcmIC5hYy1wdXNoQnV0dG9uLCAmIGlucHV0LCAmIHNlbGVjdCwgJiB0ZXh0YXJlYSc6IHtcbiAgICAgICAgJyZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0nOiB7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyMzksIDIzOSwgMjM5LCAwLjMpJyxcbiAgICAgICAgICBib3JkZXJDb2xvcjogJ3JnYmEoMTE4LCAxMTgsIDExOCwgMC4zKScsXG4gICAgICAgICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgY29sb3I6ICcjNTQ1NDU0J1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAnJiAuYWMtcHVzaEJ1dHRvblthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSc6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0VFRScsXG4gICAgICAgIGNvbG9yOiAnIzRGNEY0RidcbiAgICAgIH0sXG5cbiAgICAgICcmIC5hYy1wdXNoQnV0dG9uW2FyaWEtcHJlc3NlZD1cInRydWVcIl0nOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY2FyZFB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIGJvcmRlckNvbG9yOiBjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcixcbiAgICAgICAgY29sb3I6IGNhcmRQdXNoQnV0dG9uVGV4dENvbG9yXG4gICAgICB9LFxuXG4gICAgICAnJiBpbnB1dFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSc6IHtcbiAgICAgICAgcGFkZGluZzogJzJweCAxcHgnXG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRWUsd0JBTVk7RUFBQSxJQUx6QkEsNkJBS3lCLFFBTHpCQSw2QkFLeUI7RUFBQSxJQUp6QkMsdUJBSXlCLFFBSnpCQSx1QkFJeUI7RUFBQSxJQUh6QkMsTUFHeUIsUUFIekJBLE1BR3lCO0VBQUEsSUFGekJDLGNBRXlCLFFBRnpCQSxjQUV5QjtFQUFBLElBRHpCQyxXQUN5QixRQUR6QkEsV0FDeUI7RUFDekIsT0FBTztJQUNMLHFDQUFxQztNQUNuQztNQUNBO01BQ0E7TUFDQTtNQUNBLE9BQU87UUFDTEMsU0FBUyxFQUFFO01BRE4sQ0FMNEI7TUFTbkMsa0VBQWtFO1FBQ2hFQyxVQUFVLEVBQUVGO01BRG9ELENBVC9CO01BYW5DLDBCQUEwQjtRQUN4QkcsT0FBTyxFQUFFSjtNQURlLENBYlM7TUFpQm5DLG9CQUFvQjtRQUNsQkssVUFBVSxFQUFFLE1BRE07UUFFbEJDLGVBQWUsRUFBRSxPQUZDO1FBR2xCQyxXQUFXLEVBQUUsT0FISztRQUlsQkMsV0FBVyxFQUFFLENBSks7UUFLbEJDLEtBQUssRUFBRVYsTUFMVztRQU1sQlcsVUFBVSxFQUFFLEdBTk07UUFPbEJOLE9BQU8sRUFBRUo7TUFQUyxDQWpCZTtNQTJCbkMsc0NBQXNDO1FBQ3BDTSxlQUFlLEVBQUUsU0FEbUI7UUFFcENHLEtBQUssRUFBRTtNQUY2QixDQTNCSDtNQWdDbkMsdUZBQXVGO1FBQ3JGSCxlQUFlLEVBQUU7TUFEb0UsQ0FoQ3BEO01Bb0NuQyxtQ0FBbUM7UUFDakNBLGVBQWUsRUFBRSxTQURnQjtRQUVqQ0csS0FBSyxFQUFFO01BRjBCLENBcENBO01BeUNuQyxpRkFBaUY7UUFDL0VILGVBQWUsRUFBRTtNQUQ4RCxDQXpDOUM7TUE2Q25DO01BRUEsbURBQW1EO1FBQ2pELDJCQUEyQjtVQUN6QkEsZUFBZSxFQUFFLDBCQURRO1VBRXpCSyxXQUFXLEVBQUUsMEJBRlk7VUFHekJKLFdBQVcsRUFBRSxPQUhZO1VBSXpCQyxXQUFXLEVBQUUsQ0FKWTtVQUt6QkMsS0FBSyxFQUFFO1FBTGtCO01BRHNCLENBL0NoQjtNQXlEbkMsMENBQTBDO1FBQ3hDSCxlQUFlLEVBQUUsTUFEdUI7UUFFeENHLEtBQUssRUFBRTtNQUZpQyxDQXpEUDtNQThEbkMseUNBQXlDO1FBQ3ZDSCxlQUFlLEVBQUVULDZCQURzQjtRQUV2Q2MsV0FBVyxFQUFFZCw2QkFGMEI7UUFHdkNZLEtBQUssRUFBRVg7TUFIZ0MsQ0E5RE47TUFvRW5DLGlDQUFpQztRQUMvQk0sT0FBTyxFQUFFO01BRHNCO0lBcEVFO0VBRGhDLENBQVA7QUEwRUQifQ==
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var ADAPTIVE_CARDS_DEFAULT_STYLE_OPTIONS = {
8
8
  adaptiveCardsParserMaxVersion: undefined,
9
- cardEmphasisBackgroundColor: '#F0F0F0',
9
+ cardEmphasisBackgroundColor: '#F9F9F9',
10
10
  cardPushButtonBackgroundColor: '#0063B1',
11
11
  cardPushButtonTextColor: 'White',
12
12
  richCardWrapTitle: false
13
13
  };
14
14
  var _default = ADAPTIVE_CARDS_DEFAULT_STYLE_OPTIONS;
15
15
  exports.default = _default;
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBREFQVElWRV9DQVJEU19ERUZBVUxUX1NUWUxFX09QVElPTlMiLCJhZGFwdGl2ZUNhcmRzUGFyc2VyTWF4VmVyc2lvbiIsInVuZGVmaW5lZCIsImNhcmRFbXBoYXNpc0JhY2tncm91bmRDb2xvciIsImNhcmRQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yIiwiY2FyZFB1c2hCdXR0b25UZXh0Q29sb3IiLCJyaWNoQ2FyZFdyYXBUaXRsZSJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvZGVmYXVsdFN0eWxlT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRhcHRpdmVDYXJkc1N0eWxlT3B0aW9ucyBmcm9tICcuL0FkYXB0aXZlQ2FyZHNTdHlsZU9wdGlvbnMnO1xuXG5jb25zdCBBREFQVElWRV9DQVJEU19ERUZBVUxUX1NUWUxFX09QVElPTlM6IFJlcXVpcmVkPEFkYXB0aXZlQ2FyZHNTdHlsZU9wdGlvbnM+ID0ge1xuICBhZGFwdGl2ZUNhcmRzUGFyc2VyTWF4VmVyc2lvbjogdW5kZWZpbmVkLFxuICBjYXJkRW1waGFzaXNCYWNrZ3JvdW5kQ29sb3I6ICcjRjBGMEYwJyxcbiAgY2FyZFB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICcjMDA2M0IxJyxcbiAgY2FyZFB1c2hCdXR0b25UZXh0Q29sb3I6ICdXaGl0ZScsXG4gIHJpY2hDYXJkV3JhcFRpdGxlOiBmYWxzZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQURBUFRJVkVfQ0FSRFNfREVGQVVMVF9TVFlMRV9PUFRJT05TO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxJQUFNQSxvQ0FBeUUsR0FBRztFQUNoRkMsNkJBQTZCLEVBQUVDLFNBRGlEO0VBRWhGQywyQkFBMkIsRUFBRSxTQUZtRDtFQUdoRkMsNkJBQTZCLEVBQUUsU0FIaUQ7RUFJaEZDLHVCQUF1QixFQUFFLE9BSnVEO0VBS2hGQyxpQkFBaUIsRUFBRTtBQUw2RCxDQUFsRjtlQVFlTixvQyJ9
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBREFQVElWRV9DQVJEU19ERUZBVUxUX1NUWUxFX09QVElPTlMiLCJhZGFwdGl2ZUNhcmRzUGFyc2VyTWF4VmVyc2lvbiIsInVuZGVmaW5lZCIsImNhcmRFbXBoYXNpc0JhY2tncm91bmRDb2xvciIsImNhcmRQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yIiwiY2FyZFB1c2hCdXR0b25UZXh0Q29sb3IiLCJyaWNoQ2FyZFdyYXBUaXRsZSJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvZGVmYXVsdFN0eWxlT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRhcHRpdmVDYXJkc1N0eWxlT3B0aW9ucyBmcm9tICcuL0FkYXB0aXZlQ2FyZHNTdHlsZU9wdGlvbnMnO1xuXG5jb25zdCBBREFQVElWRV9DQVJEU19ERUZBVUxUX1NUWUxFX09QVElPTlM6IFJlcXVpcmVkPEFkYXB0aXZlQ2FyZHNTdHlsZU9wdGlvbnM+ID0ge1xuICBhZGFwdGl2ZUNhcmRzUGFyc2VyTWF4VmVyc2lvbjogdW5kZWZpbmVkLFxuICBjYXJkRW1waGFzaXNCYWNrZ3JvdW5kQ29sb3I6ICcjRjlGOUY5JyxcbiAgY2FyZFB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICcjMDA2M0IxJyxcbiAgY2FyZFB1c2hCdXR0b25UZXh0Q29sb3I6ICdXaGl0ZScsXG4gIHJpY2hDYXJkV3JhcFRpdGxlOiBmYWxzZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQURBUFRJVkVfQ0FSRFNfREVGQVVMVF9TVFlMRV9PUFRJT05TO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxJQUFNQSxvQ0FBeUUsR0FBRztFQUNoRkMsNkJBQTZCLEVBQUVDLFNBRGlEO0VBRWhGQywyQkFBMkIsRUFBRSxTQUZtRDtFQUdoRkMsNkJBQTZCLEVBQUUsU0FIaUQ7RUFJaEZDLHVCQUF1QixFQUFFLE9BSnVEO0VBS2hGQyxpQkFBaUIsRUFBRTtBQUw2RCxDQUFsRjtlQVFlTixvQyJ9
package/lib/addVersion.js CHANGED
@@ -28,7 +28,7 @@ function setMetaTag(name, content) {
28
28
 
29
29
  function addVersion(variant) {
30
30
  setMetaTag('botframework-webchat:bundle:variant', variant);
31
- setMetaTag('botframework-webchat:bundle:version', "4.15.8-main.20230331.0e770c8");
31
+ setMetaTag('botframework-webchat:bundle:version', "4.15.8-main.20230412.960a5a5");
32
32
  setMetaTag('botframework-webchat:core:version', _botframeworkWebchatCore.version);
33
33
  setMetaTag('botframework-webchat:ui:version', _botframeworkWebchatComponent.version);
34
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botframework-webchat",
3
- "version": "4.15.8-main.20230331.0e770c8",
3
+ "version": "4.15.8-main.20230412.960a5a5",
4
4
  "description": "A highly-customizable web-based chat client for Azure Bot Services.",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -92,10 +92,10 @@
92
92
  "@babel/runtime": "7.19.0",
93
93
  "adaptivecards": "2.11.1",
94
94
  "botframework-directlinejs": "0.15.1",
95
- "botframework-directlinespeech-sdk": "4.15.8-main.20230331.0e770c8",
96
- "botframework-webchat-api": "4.15.8-main.20230331.0e770c8",
97
- "botframework-webchat-component": "4.15.8-main.20230331.0e770c8",
98
- "botframework-webchat-core": "4.15.8-main.20230331.0e770c8",
95
+ "botframework-directlinespeech-sdk": "4.15.8-main.20230412.960a5a5",
96
+ "botframework-webchat-api": "4.15.8-main.20230412.960a5a5",
97
+ "botframework-webchat-component": "4.15.8-main.20230412.960a5a5",
98
+ "botframework-webchat-core": "4.15.8-main.20230412.960a5a5",
99
99
  "classnames": "2.3.2",
100
100
  "core-js": "3.28.0",
101
101
  "markdown-it": "13.0.1",
@@ -126,8 +126,8 @@
126
126
  "babel-plugin-transform-inline-environment-variables": "^0.4.4",
127
127
  "concurrently": "^7.6.0",
128
128
  "esbuild": "^0.17.10",
129
- "isomorphic-react": "4.15.8-main.20230331.0e770c8",
130
- "isomorphic-react-dom": "4.15.8-main.20230331.0e770c8",
129
+ "isomorphic-react": "4.15.8-main.20230412.960a5a5",
130
+ "isomorphic-react-dom": "4.15.8-main.20230412.960a5a5",
131
131
  "source-map-loader": "^4.0.1",
132
132
  "terser-webpack-plugin": "^5.3.6",
133
133
  "typescript": "^4.9.5",
@@ -0,0 +1,52 @@
1
+ import { useMemo } from 'react';
2
+
3
+ import setOrRemoveAttributeIfFalseWithUndo from '../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo';
4
+ import useAdaptiveCardModEffect from './private/useAdaptiveCardModEffect';
5
+
6
+ import type { AdaptiveCard } from 'adaptivecards';
7
+
8
+ /**
9
+ * Accessibility: "role" attribute must be set if "aria-label" is set.
10
+ *
11
+ * It is possible to render an Adaptive Card with empty content but "aria-label" attribute. The Adaptive Cards JSON looks like:
12
+ *
13
+ * ```json
14
+ * {
15
+ * "type": "AdaptiveCard",
16
+ * "speak": "Hello, World!",
17
+ * "body": [],
18
+ * "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
19
+ * "version": "1.5"
20
+ * }
21
+ * ```
22
+ *
23
+ * The HTML output will be:
24
+ *
25
+ * ```html
26
+ * <div class="ac-adaptiveCard" aria-label="Hello, World!"></div>
27
+ * ```
28
+ *
29
+ * This violates WAI-ARIA because "aria-label" must not be set on an element without a "role".
30
+ *
31
+ * We need to set "role" attribute to "form" if the card has any input fields and is valid as a "form" role, otherwise, "figure".
32
+ */
33
+ export default function useRoleModEffect(
34
+ adaptiveCard: AdaptiveCard
35
+ ): readonly [(cardElement: HTMLElement) => void, () => void] {
36
+ const modder = useMemo(
37
+ () => (_, cardElement: HTMLElement) =>
38
+ setOrRemoveAttributeIfFalseWithUndo(
39
+ cardElement,
40
+ 'role',
41
+ // "form" role requires either "aria-label", "aria-labelledby", or "title".
42
+ (cardElement.querySelector('button, input, select, textarea') && cardElement.getAttribute('aria-label')) ||
43
+ cardElement.getAttribute('aria-labelledby') ||
44
+ cardElement.getAttribute('title')
45
+ ? 'form'
46
+ : 'figure'
47
+ ),
48
+ []
49
+ );
50
+
51
+ return useAdaptiveCardModEffect(modder, adaptiveCard);
52
+ }
@@ -24,6 +24,7 @@ import useAdaptiveCardsHostConfig from '../hooks/useAdaptiveCardsHostConfig';
24
24
  import useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';
25
25
  import useDisabledModEffect from './AdaptiveCardHacks/useDisabledModEffect';
26
26
  import usePersistValuesModEffect from './AdaptiveCardHacks/usePersistValuesModEffect';
27
+ import useRoleModEffect from './AdaptiveCardHacks/useRoleModEffect';
27
28
  import useValueRef from './AdaptiveCardHacks/private/useValueRef';
28
29
 
29
30
  const { ErrorBox } = Components;
@@ -172,6 +173,7 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
172
173
  const [applyActiveElementMod, undoActiveElementMod] = useActiveElementModEffect(adaptiveCard);
173
174
  const [applyDisabledMod, undoDisabledMod] = useDisabledModEffect(adaptiveCard);
174
175
  const [applyPersistValuesMod, undoPersistValuesMod] = usePersistValuesModEffect(adaptiveCard);
176
+ const [applyRoleMod, undoRoleMod] = useRoleModEffect(adaptiveCard);
175
177
 
176
178
  const { element, errors }: { element?: HTMLElement; errors?: Error[] } = useMemo(() => {
177
179
  undoActionShouldBePushButtonMod();
@@ -179,6 +181,7 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
179
181
  undoActiveElementMod();
180
182
  undoDisabledMod();
181
183
  undoPersistValuesMod();
184
+ undoRoleMod();
182
185
 
183
186
  return renderAdaptiveCard(adaptiveCard, {
184
187
  adaptiveCardsHostConfig,
@@ -197,7 +200,8 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
197
200
  undoActionSetShouldNotBeMenuBarMod,
198
201
  undoActiveElementMod,
199
202
  undoDisabledMod,
200
- undoPersistValuesMod
203
+ undoPersistValuesMod,
204
+ undoRoleMod
201
205
  ]);
202
206
 
203
207
  useMemo(() => {
@@ -222,6 +226,7 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
222
226
  applyActiveElementMod(element);
223
227
  applyDisabledMod(element, disabled);
224
228
  applyPersistValuesMod(element);
229
+ applyRoleMod(element);
225
230
  }, [
226
231
  actionPerformedClassName,
227
232
  applyActionShouldBePushButtonMod,
@@ -229,6 +234,7 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
229
234
  applyActiveElementMod,
230
235
  applyDisabledMod,
231
236
  applyPersistValuesMod,
237
+ applyRoleMod,
232
238
  disabled,
233
239
  element
234
240
  ]);