botframework-webchat 4.16.1-main.20240328.82ad15e → 4.16.1-main.20240401.512cc60

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.
@@ -1,6 +1,6 @@
1
1
  import { AdaptiveCard } from 'adaptivecards';
2
- import { VFC } from 'react';
3
2
  import type { DirectLineCardAction } from 'botframework-webchat-core';
3
+ import { VFC } from 'react';
4
4
  type AdaptiveCardRendererProps = {
5
5
  actionPerformedClassName?: string;
6
6
  adaptiveCard: AdaptiveCard;
@@ -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;AAoBtE,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,CAsNxD,CAAC;AAuBF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"AdaptiveCardRenderer.d.ts","sourceRoot":"","sources":["../../../src/adaptiveCards/Attachment/AdaptiveCardRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA6D,MAAM,eAAe,CAAC;AAExG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAc,EAGZ,GAAG,EAKJ,MAAM,OAAO,CAAC;AAmBf,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,CAgNxD,CAAC;AAuBF,eAAe,oBAAoB,CAAC"}
@@ -11,17 +11,16 @@ var _botframeworkWebchatComponent = require("botframework-webchat-component");
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
- var _renderAdaptiveCard = _interopRequireDefault(require("./private/renderAdaptiveCard"));
15
- var _useActionSetShouldNotBeMenuBarModEffect = _interopRequireDefault(require("./AdaptiveCardHacks/useActionSetShouldNotBeMenuBarModEffect"));
16
- var _useActionShouldBePushButtonModEffect = _interopRequireDefault(require("./AdaptiveCardHacks/useActionShouldBePushButtonModEffect"));
17
- var _useActiveElementModEffect = _interopRequireDefault(require("./AdaptiveCardHacks/useActiveElementModEffect"));
14
+ var _useStyleSet3 = _interopRequireDefault(require("../../hooks/useStyleSet"));
18
15
  var _useAdaptiveCardsHostConfig = _interopRequireDefault(require("../hooks/useAdaptiveCardsHostConfig"));
19
16
  var _useAdaptiveCardsPackage = _interopRequireDefault(require("../hooks/useAdaptiveCardsPackage"));
17
+ var _useValueRef = _interopRequireDefault(require("./AdaptiveCardHacks/private/useValueRef"));
18
+ var _useActionShouldBePushButtonModEffect = _interopRequireDefault(require("./AdaptiveCardHacks/useActionShouldBePushButtonModEffect"));
19
+ var _useActiveElementModEffect = _interopRequireDefault(require("./AdaptiveCardHacks/useActiveElementModEffect"));
20
20
  var _useDisabledModEffect3 = _interopRequireDefault(require("./AdaptiveCardHacks/useDisabledModEffect"));
21
21
  var _usePersistValuesModEffect = _interopRequireDefault(require("./AdaptiveCardHacks/usePersistValuesModEffect"));
22
22
  var _useRoleModEffect3 = _interopRequireDefault(require("./AdaptiveCardHacks/useRoleModEffect"));
23
- var _useStyleSet3 = _interopRequireDefault(require("../../hooks/useStyleSet"));
24
- var _useValueRef = _interopRequireDefault(require("./AdaptiveCardHacks/private/useValueRef"));
23
+ var _renderAdaptiveCard = _interopRequireDefault(require("./private/renderAdaptiveCard"));
25
24
  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); }
26
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
26
  /* eslint no-magic-numbers: ["error", { "ignore": [-1, 0, 2] }] */
@@ -157,10 +156,6 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
157
156
  _useActionShouldBePus2 = (0, _slicedToArray2.default)(_useActionShouldBePus, 2),
158
157
  applyActionShouldBePushButtonMod = _useActionShouldBePus2[0],
159
158
  undoActionShouldBePushButtonMod = _useActionShouldBePus2[1];
160
- var _useActionSetShouldNo = (0, _useActionSetShouldNotBeMenuBarModEffect.default)(adaptiveCard),
161
- _useActionSetShouldNo2 = (0, _slicedToArray2.default)(_useActionSetShouldNo, 2),
162
- applyActionSetShouldNotBeMenuBarMod = _useActionSetShouldNo2[0],
163
- undoActionSetShouldNotBeMenuBarMod = _useActionSetShouldNo2[1];
164
159
  var _useActiveElementModE = (0, _useActiveElementModEffect.default)(adaptiveCard),
165
160
  _useActiveElementModE2 = (0, _slicedToArray2.default)(_useActiveElementModE, 2),
166
161
  applyActiveElementMod = _useActiveElementModE2[0],
@@ -179,7 +174,6 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
179
174
  undoRoleMod = _useRoleModEffect2[1];
180
175
  var _useMemo = (0, _react.useMemo)(function () {
181
176
  undoActionShouldBePushButtonMod();
182
- undoActionSetShouldNotBeMenuBarMod();
183
177
  undoActiveElementMod();
184
178
  undoDisabledMod();
185
179
  undoPersistValuesMod();
@@ -193,7 +187,7 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
193
187
  renderMarkdownAsHTML: renderMarkdownAsHTML,
194
188
  setTabIndexAtCardRoot: setTabIndexAtCardRoot
195
189
  });
196
- }, [adaptiveCard, adaptiveCardsHostConfig, GlobalSettings, HostConfig, renderMarkdownAsHTML, setTabIndexAtCardRoot, undoActionShouldBePushButtonMod, undoActionSetShouldNotBeMenuBarMod, undoActiveElementMod, undoDisabledMod, undoPersistValuesMod, undoRoleMod]),
190
+ }, [adaptiveCard, adaptiveCardsHostConfig, GlobalSettings, HostConfig, renderMarkdownAsHTML, setTabIndexAtCardRoot, undoActionShouldBePushButtonMod, undoActiveElementMod, undoDisabledMod, undoPersistValuesMod, undoRoleMod]),
197
191
  element = _useMemo.element,
198
192
  errors = _useMemo.errors;
199
193
  (0, _react.useMemo)(function () {
@@ -212,13 +206,12 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
212
206
  (0, _react.useLayoutEffect)(function () {
213
207
  if (element) {
214
208
  applyActionShouldBePushButtonMod(element, actionPerformedClassName);
215
- applyActionSetShouldNotBeMenuBarMod(element);
216
209
  applyActiveElementMod(element);
217
210
  applyDisabledMod(element, disabled);
218
211
  applyPersistValuesMod(element);
219
212
  applyRoleMod(element);
220
213
  }
221
- }, [actionPerformedClassName, applyActionShouldBePushButtonMod, applyActionSetShouldNotBeMenuBarMod, applyActiveElementMod, applyDisabledMod, applyPersistValuesMod, applyRoleMod, disabled, element]);
214
+ }, [actionPerformedClassName, applyActionShouldBePushButtonMod, applyActiveElementMod, applyDisabledMod, applyPersistValuesMod, applyRoleMod, disabled, element]);
222
215
  (errors === null || errors === void 0 ? void 0 : errors.length) && console.warn('botframework-webchat: Failed to render Adaptive Cards.', errors);
223
216
  return errors !== null && errors !== void 0 && errors.length ? node_env === 'development' && /*#__PURE__*/_react.default.createElement(ErrorBox, {
224
217
  error: errors[0],
@@ -250,4 +243,4 @@ AdaptiveCardRenderer.propTypes = {
250
243
  };
251
244
  var _default = AdaptiveCardRenderer;
252
245
  exports.default = _default;
253
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdENvbXBvbmVudCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcHJvcFR5cGVzIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVuZGVyQWRhcHRpdmVDYXJkIiwiX3VzZUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZEVmZmVjdCIsIl91c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QiLCJfdXNlQWN0aXZlRWxlbWVudE1vZEVmZmVjdCIsIl91c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyIsIl91c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSIsIl91c2VEaXNhYmxlZE1vZEVmZmVjdDMiLCJfdXNlUGVyc2lzdFZhbHVlc01vZEVmZmVjdCIsIl91c2VSb2xlTW9kRWZmZWN0MyIsIl91c2VTdHlsZVNldDMiLCJfdXNlVmFsdWVSZWYiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkVycm9yQm94IiwiQ29tcG9uZW50cyIsInVzZURpc2FibGVkIiwiaG9va3MiLCJ1c2VMb2NhbGl6ZXIiLCJ1c2VQZXJmb3JtQ2FyZEFjdGlvbiIsInVzZVJlbmRlck1hcmtkb3duQXNIVE1MIiwidXNlU2Nyb2xsVG9FbmQiLCJub2RlX2VudiIsInVuZGVmaW5lZCIsIkFkYXB0aXZlQ2FyZFJlbmRlcmVyIiwiX3JlZiIsImFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSIsImFkYXB0aXZlQ2FyZCIsImRpc2FibGVkRnJvbVByb3BzIiwiZGlzYWJsZWQiLCJ0YXBBY3Rpb24iLCJfdXNlU3R5bGVTZXQiLCJ1c2VTdHlsZVNldCIsIl91c2VTdHlsZVNldDIiLCJfc2xpY2VkVG9BcnJheTIiLCJhZGFwdGl2ZUNhcmRSZW5kZXJlclN0eWxlU2V0IiwiYWRhcHRpdmVDYXJkUmVuZGVyZXIiLCJfdXNlQWRhcHRpdmVDYXJkc1BhY2siLCJ1c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSIsIl91c2VBZGFwdGl2ZUNhcmRzUGFjazIiLCJfdXNlQWRhcHRpdmVDYXJkc1BhY2szIiwiR2xvYmFsU2V0dGluZ3MiLCJIb3N0Q29uZmlnIiwiX3VzZUFkYXB0aXZlQ2FyZHNIb3N0IiwidXNlQWRhcHRpdmVDYXJkc0hvc3RDb25maWciLCJfdXNlQWRhcHRpdmVDYXJkc0hvc3QyIiwiYWRhcHRpdmVDYXJkc0hvc3RDb25maWciLCJfdXNlRGlzYWJsZWQiLCJfdXNlRGlzYWJsZWQyIiwiZGlzYWJsZWRGcm9tQ29tcG9zZXIiLCJjb250ZW50UmVmIiwidXNlUmVmIiwibG9jYWxpemUiLCJwZXJmb3JtQ2FyZEFjdGlvbiIsInJlbmRlck1hcmtkb3duQXNIVE1MIiwic2Nyb2xsVG9FbmQiLCJ0YXBBY3Rpb25SZWYiLCJ1c2VWYWx1ZVJlZiIsImRpc2FibGVkUmVmIiwiaGFuZGxlQ2xpY2tBbmRLZXlQcmVzcyIsInVzZUNhbGxiYWNrIiwiZXZlbnQiLCJfcmVmMiIsInR5cGUiLCJ0YXJnZXQiLCJjdXJyZW50IiwiYWRhcHRpdmVDYXJkUm9vdCIsInF1ZXJ5U2VsZWN0b3IiLCJjb25zb2xlIiwid2FybiIsInByZXZlbnREZWZhdWx0IiwidGFiSW5kZXgiLCJnZXRUYWJJbmRleCIsImhhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb24iLCJoYW5kbGVFeGVjdXRlQWN0aW9uIiwiYWN0aW9uIiwiYWN0aW9uVHlwZU5hbWUiLCJnZXRKc29uVHlwZU5hbWUiLCJpbWFnZSIsImljb25VcmwiLCJ0aXRsZSIsIl9yZWYzIiwidmFsdWUiLCJ1cmwiLCJfcmVmNCIsImRhdGEiLCJfX2lzQm90RnJhbWV3b3JrQ2FyZEFjdGlvbiIsImNhcmRBY3Rpb24iLCJlcnJvciIsInNldFRhYkluZGV4QXRDYXJkUm9vdCIsIl91c2VBY3Rpb25TaG91bGRCZVB1cyIsInVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCIsIl91c2VBY3Rpb25TaG91bGRCZVB1czIiLCJhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCIsInVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QiLCJfdXNlQWN0aW9uU2V0U2hvdWxkTm8iLCJ1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QiLCJfdXNlQWN0aW9uU2V0U2hvdWxkTm8yIiwiYXBwbHlBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QiLCJ1bmRvQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kIiwiX3VzZUFjdGl2ZUVsZW1lbnRNb2RFIiwidXNlQWN0aXZlRWxlbWVudE1vZEVmZmVjdCIsIl91c2VBY3RpdmVFbGVtZW50TW9kRTIiLCJhcHBseUFjdGl2ZUVsZW1lbnRNb2QiLCJ1bmRvQWN0aXZlRWxlbWVudE1vZCIsIl91c2VEaXNhYmxlZE1vZEVmZmVjdCIsInVzZURpc2FibGVkTW9kRWZmZWN0IiwiX3VzZURpc2FibGVkTW9kRWZmZWN0MiIsImFwcGx5RGlzYWJsZWRNb2QiLCJ1bmRvRGlzYWJsZWRNb2QiLCJfdXNlUGVyc2lzdFZhbHVlc01vZEUiLCJ1c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0IiwiX3VzZVBlcnNpc3RWYWx1ZXNNb2RFMiIsImFwcGx5UGVyc2lzdFZhbHVlc01vZCIsInVuZG9QZXJzaXN0VmFsdWVzTW9kIiwiX3VzZVJvbGVNb2RFZmZlY3QiLCJ1c2VSb2xlTW9kRWZmZWN0IiwiX3VzZVJvbGVNb2RFZmZlY3QyIiwiYXBwbHlSb2xlTW9kIiwidW5kb1JvbGVNb2QiLCJfdXNlTWVtbyIsInVzZU1lbW8iLCJyZW5kZXJBZGFwdGl2ZUNhcmQiLCJhZGFwdGl2ZUNhcmRzUGFja2FnZSIsImVsZW1lbnQiLCJlcnJvcnMiLCJvbkV4ZWN1dGVBY3Rpb24iLCJ1c2VMYXlvdXRFZmZlY3QiLCJhcHBlbmRDaGlsZCIsInJlbW92ZUNoaWxkIiwibGVuZ3RoIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJvbkNsaWNrIiwib25LZXlQcmVzcyIsInJlZiIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImFueSIsImlzUmVxdWlyZWQiLCJib29sIiwic2hhcGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkUmVuZGVyZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFstMSwgMCwgMl0gfV0gKi9cblxuaW1wb3J0IHsgQWN0aW9uIGFzIEFkYXB0aXZlQ2FyZEFjdGlvbiwgQWRhcHRpdmVDYXJkLCBPcGVuVXJsQWN0aW9uLCBTdWJtaXRBY3Rpb24gfSBmcm9tICdhZGFwdGl2ZWNhcmRzJztcbmltcG9ydCB7IENvbXBvbmVudHMsIGdldFRhYkluZGV4LCBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvbXBvbmVudCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHtcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIFZGQ1xufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IERpcmVjdExpbmVDYXJkQWN0aW9uIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5cbmltcG9ydCB7IEJvdEZyYW1ld29ya0NhcmRBY3Rpb24gfSBmcm9tICcuL0FkYXB0aXZlQ2FyZEJ1aWxkZXInO1xuaW1wb3J0IHJlbmRlckFkYXB0aXZlQ2FyZCBmcm9tICcuL3ByaXZhdGUvcmVuZGVyQWRhcHRpdmVDYXJkJztcbmltcG9ydCB1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCBmcm9tICcuL0FkYXB0aXZlQ2FyZEhhY2tzL3VzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCc7XG5pbXBvcnQgdXNlQWN0aXZlRWxlbWVudE1vZEVmZmVjdCBmcm9tICcuL0FkYXB0aXZlQ2FyZEhhY2tzL3VzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZUFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnIGZyb20gJy4uL2hvb2tzL3VzZUFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnJztcbmltcG9ydCB1c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSBmcm9tICcuLi9ob29rcy91c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSc7XG5pbXBvcnQgdXNlRGlzYWJsZWRNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VEaXNhYmxlZE1vZEVmZmVjdCc7XG5pbXBvcnQgdXNlUGVyc2lzdFZhbHVlc01vZEVmZmVjdCBmcm9tICcuL0FkYXB0aXZlQ2FyZEhhY2tzL3VzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZVJvbGVNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VSb2xlTW9kRWZmZWN0JztcbmltcG9ydCB1c2VTdHlsZVNldCBmcm9tICcuLi8uLi9ob29rcy91c2VTdHlsZVNldCc7XG5pbXBvcnQgdXNlVmFsdWVSZWYgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy9wcml2YXRlL3VzZVZhbHVlUmVmJztcblxuY29uc3QgeyBFcnJvckJveCB9ID0gQ29tcG9uZW50cztcbmNvbnN0IHsgdXNlRGlzYWJsZWQsIHVzZUxvY2FsaXplciwgdXNlUGVyZm9ybUNhcmRBY3Rpb24sIHVzZVJlbmRlck1hcmtkb3duQXNIVE1MLCB1c2VTY3JvbGxUb0VuZCB9ID0gaG9va3M7XG5cbmNvbnN0IG5vZGVfZW52ID0gcHJvY2Vzcy5lbnYubm9kZV9lbnYgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlY7XG5cbnR5cGUgQWRhcHRpdmVDYXJkUmVuZGVyZXJQcm9wcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICBhZGFwdGl2ZUNhcmQ6IEFkYXB0aXZlQ2FyZDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0YXBBY3Rpb24/OiBEaXJlY3RMaW5lQ2FyZEFjdGlvbjtcbn07XG5cbmNvbnN0IEFkYXB0aXZlQ2FyZFJlbmRlcmVyOiBWRkM8QWRhcHRpdmVDYXJkUmVuZGVyZXJQcm9wcz4gPSAoe1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWUsXG4gIGFkYXB0aXZlQ2FyZCxcbiAgZGlzYWJsZWQ6IGRpc2FibGVkRnJvbVByb3BzLFxuICB0YXBBY3Rpb25cbn0pID0+IHtcbiAgY29uc3QgW3sgYWRhcHRpdmVDYXJkUmVuZGVyZXI6IGFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBbeyBHbG9iYWxTZXR0aW5ncywgSG9zdENvbmZpZyB9XSA9IHVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlKCk7XG4gIGNvbnN0IFthZGFwdGl2ZUNhcmRzSG9zdENvbmZpZ10gPSB1c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZygpO1xuICBjb25zdCBbZGlzYWJsZWRGcm9tQ29tcG9zZXJdID0gdXNlRGlzYWJsZWQoKTtcbiAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgcGVyZm9ybUNhcmRBY3Rpb24gPSB1c2VQZXJmb3JtQ2FyZEFjdGlvbigpO1xuICBjb25zdCByZW5kZXJNYXJrZG93bkFzSFRNTCA9IHVzZVJlbmRlck1hcmtkb3duQXNIVE1MKCk7XG4gIGNvbnN0IHNjcm9sbFRvRW5kID0gdXNlU2Nyb2xsVG9FbmQoKTtcblxuICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkRnJvbUNvbXBvc2VyIHx8IGRpc2FibGVkRnJvbVByb3BzO1xuICBjb25zdCB0YXBBY3Rpb25SZWYgPSB1c2VWYWx1ZVJlZih0YXBBY3Rpb24pO1xuXG4gIGNvbnN0IGRpc2FibGVkUmVmID0gdXNlVmFsdWVSZWYoZGlzYWJsZWQpO1xuXG4gIC8vIFRPRE86IFtQMl0gIzMxOTkgV2Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIGBhZGFwdGl2ZUNhcmQuc2VsZWN0QWN0aW9uYCBpbnN0ZWFkLlxuICAvLyBUaGUgbnVsbCBjaGVjayBmb3IgXCJ0YXBBY3Rpb25cIiBpcyBpbiBcImhhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb25cIi5cbiAgY29uc3QgaGFuZGxlQ2xpY2tBbmRLZXlQcmVzcyA9IHVzZUNhbGxiYWNrPEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PiB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pj4oXG4gICAgKGV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCB7IGtleSwgdHlwZSB9ID0gZXZlbnQgYXMgS2V5Ym9hcmRFdmVudDtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcblxuICAgICAgLy8gU29tZSBpdGVtcywgZS5nLiB0YXBwYWJsZSB0ZXh0LCBjYW5ub3QgYmUgZGlzYWJsZWQgdGhydSBET00gYXR0cmlidXRlc1xuICAgICAgY29uc3QgeyBjdXJyZW50IH0gPSBjb250ZW50UmVmO1xuICAgICAgY29uc3QgYWRhcHRpdmVDYXJkUm9vdCA9IGN1cnJlbnQucXVlcnlTZWxlY3RvcignLmFjLWFkYXB0aXZlQ2FyZFt0YWJpbmRleD1cIjBcIl0nKTtcblxuICAgICAgaWYgKCFhZGFwdGl2ZUNhcmRSb290KSB7XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBObyBBZGFwdGl2ZSBDYXJkIHJvb3QgY29udGFpbmVyIGNhbiBiZSBmb3VuZDsgdGhlIGNhcmQgaXMgcHJvYmFibHkgb24gYW4gdW5zdXBwb3J0ZWQgQWRhcHRpdmUgQ2FyZCB2ZXJzaW9uLidcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gRm9yIFwia2V5cHJlc3NcIiBldmVudCwgd2Ugb25seSBsaXN0ZW4gdG8gRU5URVIgYW5kIFNQQUNFQkFSIGtleS5cbiAgICAgIGlmICh0eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICAgIGlmIChrZXkgIT09ICdFbnRlcicgJiYga2V5ICE9PSAnICcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuXG4gICAgICAvLyBXZSB3aWxsIGNhbGwgcGVyZm9ybUNhcmRBY3Rpb24gaWYgZWl0aGVyOlxuICAgICAgLy8gMS4gV2UgYXJlIG9uIHRoZSB0YXJnZXQsIG9yXG4gICAgICAvLyAyLiBUaGUgZXZlbnQtZGlzcGF0Y2hpbmcgZWxlbWVudCBpcyBub3QgaW50ZXJhY3RpdmVcbiAgICAgIGlmICh0YXJnZXQgIT09IGFkYXB0aXZlQ2FyZFJvb3QpIHtcbiAgICAgICAgY29uc3QgdGFiSW5kZXggPSBnZXRUYWJJbmRleCh0YXJnZXQpO1xuXG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIGNsaWNraW5nIG9uIHNvbWV0aGluZyB0aGF0IGlzIGFscmVhZHkgY2xpY2thYmxlLCBkbyBub3QgYWxsb3cgdGhlbSB0byBjbGljayB0aGUgY2FyZC5cbiAgICAgICAgLy8gRS5nLiBhIGhlcm8gY2FyZCBjYW4gYmUgdGFwcGFibGUsIGFuZCBpbWFnZSBhbmQgYnV0dG9ucyBpbnNpZGUgdGhlIGhlcm8gY2FyZCBjYW4gYWxzbyBiZSB0YXBwYWJsZS5cbiAgICAgICAgaWYgKHR5cGVvZiB0YWJJbmRleCA9PT0gJ251bWJlcicgJiYgdGFiSW5kZXggPj0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwZXJmb3JtQ2FyZEFjdGlvbih0YXBBY3Rpb25SZWYuY3VycmVudCk7XG4gICAgICBzY3JvbGxUb0VuZCgpO1xuICAgIH0sXG4gICAgW2NvbnRlbnRSZWYsIHBlcmZvcm1DYXJkQWN0aW9uLCBzY3JvbGxUb0VuZCwgdGFwQWN0aW9uUmVmXVxuICApO1xuXG4gIC8vIE9ubHkgbGlzdGVuIHRvIGV2ZW50IGlmIGl0IGlzIG5vdCBkaXNhYmxlZCBhbmQgaGF2ZSBcInRhcEFjdGlvblwiIHByb3AuXG4gIGNvbnN0IGhhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb24gPSAhZGlzYWJsZWQgJiYgdGFwQWN0aW9uID8gaGFuZGxlQ2xpY2tBbmRLZXlQcmVzcyA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBoYW5kbGVFeGVjdXRlQWN0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGFjdGlvbjogQWRhcHRpdmVDYXJkQWN0aW9uKTogdm9pZCA9PiB7XG4gICAgICAvLyBTb21lIGl0ZW1zLCBlLmcuIHRhcHBhYmxlIGltYWdlLCBjYW5ub3QgYmUgZGlzYWJsZWQgdGhydSBET00gYXR0cmlidXRlc1xuICAgICAgaWYgKGRpc2FibGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhY3Rpb25UeXBlTmFtZSA9IGFjdGlvbi5nZXRKc29uVHlwZU5hbWUoKTtcbiAgICAgIGNvbnN0IHsgaWNvblVybDogaW1hZ2UsIHRpdGxlIH0gPSBhY3Rpb247XG5cbiAgICAgIC8vIFdlIGNhbm5vdCB1c2UgXCJpbnN0YW5jZW9mXCIgY2hlY2sgaGVyZSwgYmVjYXVzZSB3ZWIgZGV2cyBtYXkgYnJpbmcgdGhlaXIgb3duIHZlcnNpb24gb2YgQWRhcHRpdmUgQ2FyZHMgcGFja2FnZS5cbiAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgdXNpbmcgXCJnZXRKc29uVHlwZU5hbWUoKVwiIGluc3RlYWQuXG4gICAgICBpZiAoYWN0aW9uVHlwZU5hbWUgPT09ICdBY3Rpb24uT3BlblVybCcpIHtcbiAgICAgICAgY29uc3QgeyB1cmw6IHZhbHVlIH0gPSBhY3Rpb24gYXMgT3BlblVybEFjdGlvbjtcblxuICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbih7XG4gICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgdHlwZTogJ29wZW5VcmwnLFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChhY3Rpb25UeXBlTmFtZSA9PT0gJ0FjdGlvbi5TdWJtaXQnKSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYWN0aW9uIGFzIFN1Ym1pdEFjdGlvbiBhcyB7XG4gICAgICAgICAgZGF0YTogc3RyaW5nIHwgQm90RnJhbWV3b3JrQ2FyZEFjdGlvbjtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodHlwZW9mIGRhdGEgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oe1xuICAgICAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgIHR5cGU6ICdpbUJhY2snLFxuICAgICAgICAgICAgICB2YWx1ZTogZGF0YVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLl9faXNCb3RGcmFtZXdvcmtDYXJkQWN0aW9uKSB7XG4gICAgICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbihkYXRhLmNhcmRBY3Rpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbih7XG4gICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgdHlwZTogJ3Bvc3RCYWNrJyxcbiAgICAgICAgICAgICAgdmFsdWU6IGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNjcm9sbFRvRW5kKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBXZWIgQ2hhdDogcmVjZWl2ZWQgdW5rbm93biBhY3Rpb24gZnJvbSBBZGFwdGl2ZSBDYXJkc2ApO1xuICAgICAgICBjb25zb2xlLmVycm9yKGFjdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZGlzYWJsZWRSZWYsIHBlcmZvcm1DYXJkQWN0aW9uLCBzY3JvbGxUb0VuZF1cbiAgKTtcblxuICAvLyBGb3IgYWNjZXNzaWJpbGl0eSBpc3N1ZSAjMTM0MCwgYHRhYmluZGV4PVwiMFwiYCBtdXN0IG5vdCBiZSBzZXQgZm9yIHRoZSByb290IGNvbnRhaW5lciBpZiBpdCBpcyBub3QgaW50ZXJhY3RpdmUuXG4gIGNvbnN0IHNldFRhYkluZGV4QXRDYXJkUm9vdCA9ICEhdGFwQWN0aW9uO1xuXG4gIGNvbnN0IFthcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCwgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZF0gPVxuICAgIHVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QsIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RdID1cbiAgICB1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5QWN0aXZlRWxlbWVudE1vZCwgdW5kb0FjdGl2ZUVsZW1lbnRNb2RdID0gdXNlQWN0aXZlRWxlbWVudE1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlEaXNhYmxlZE1vZCwgdW5kb0Rpc2FibGVkTW9kXSA9IHVzZURpc2FibGVkTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseVBlcnNpc3RWYWx1ZXNNb2QsIHVuZG9QZXJzaXN0VmFsdWVzTW9kXSA9IHVzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5Um9sZU1vZCwgdW5kb1JvbGVNb2RdID0gdXNlUm9sZU1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuXG4gIGNvbnN0IHsgZWxlbWVudCwgZXJyb3JzIH06IHsgZWxlbWVudD86IEhUTUxFbGVtZW50OyBlcnJvcnM/OiBFcnJvcltdIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICB1bmRvQWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kKCk7XG4gICAgdW5kb0FjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCgpO1xuICAgIHVuZG9BY3RpdmVFbGVtZW50TW9kKCk7XG4gICAgdW5kb0Rpc2FibGVkTW9kKCk7XG4gICAgdW5kb1BlcnNpc3RWYWx1ZXNNb2QoKTtcbiAgICB1bmRvUm9sZU1vZCgpO1xuXG4gICAgcmV0dXJuIHJlbmRlckFkYXB0aXZlQ2FyZChhZGFwdGl2ZUNhcmQsIHtcbiAgICAgIGFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnLFxuICAgICAgYWRhcHRpdmVDYXJkc1BhY2thZ2U6IHsgR2xvYmFsU2V0dGluZ3MsIEhvc3RDb25maWcgfSxcbiAgICAgIHJlbmRlck1hcmtkb3duQXNIVE1MLFxuICAgICAgc2V0VGFiSW5kZXhBdENhcmRSb290XG4gICAgfSk7XG4gIH0sIFtcbiAgICBhZGFwdGl2ZUNhcmQsXG4gICAgYWRhcHRpdmVDYXJkc0hvc3RDb25maWcsXG4gICAgR2xvYmFsU2V0dGluZ3MsXG4gICAgSG9zdENvbmZpZyxcbiAgICByZW5kZXJNYXJrZG93bkFzSFRNTCxcbiAgICBzZXRUYWJJbmRleEF0Q2FyZFJvb3QsXG4gICAgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCxcbiAgICB1bmRvQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kLFxuICAgIHVuZG9BY3RpdmVFbGVtZW50TW9kLFxuICAgIHVuZG9EaXNhYmxlZE1vZCxcbiAgICB1bmRvUGVyc2lzdFZhbHVlc01vZCxcbiAgICB1bmRvUm9sZU1vZFxuICBdKTtcblxuICB1c2VNZW1vKCgpID0+IHtcbiAgICBhZGFwdGl2ZUNhcmQub25FeGVjdXRlQWN0aW9uID0gaGFuZGxlRXhlY3V0ZUFjdGlvbjtcbiAgfSwgW2FkYXB0aXZlQ2FyZCwgaGFuZGxlRXhlY3V0ZUFjdGlvbl0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50IH0gPSBjb250ZW50UmVmO1xuXG4gICAgY3VycmVudD8uYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY3VycmVudD8ucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XG4gICAgfTtcbiAgfSwgW2NvbnRlbnRSZWYsIGVsZW1lbnRdKTtcblxuICAvLyBBcHBseSBhbGwgbW9kcyByZWdhcmRsZXNzIHdoZXRoZXIgdGhlIGVsZW1lbnQgY2hhbmdlZCBvciBub3QuXG4gIC8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBoYXZlIHVuZG9lZCBtb2RzIHdoZW4gd2UgY2FsbCB0aGUgYHVzZVhYWE1vZEVmZmVjdGAgaG9vay5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgYXBwbHlBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QoZWxlbWVudCwgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lKTtcbiAgICAgIGFwcGx5QWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kKGVsZW1lbnQpO1xuICAgICAgYXBwbHlBY3RpdmVFbGVtZW50TW9kKGVsZW1lbnQpO1xuICAgICAgYXBwbHlEaXNhYmxlZE1vZChlbGVtZW50LCBkaXNhYmxlZCk7XG4gICAgICBhcHBseVBlcnNpc3RWYWx1ZXNNb2QoZWxlbWVudCk7XG4gICAgICBhcHBseVJvbGVNb2QoZWxlbWVudCk7XG4gICAgfVxuICB9LCBbXG4gICAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lLFxuICAgIGFwcGx5QWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kLFxuICAgIGFwcGx5QWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kLFxuICAgIGFwcGx5QWN0aXZlRWxlbWVudE1vZCxcbiAgICBhcHBseURpc2FibGVkTW9kLFxuICAgIGFwcGx5UGVyc2lzdFZhbHVlc01vZCxcbiAgICBhcHBseVJvbGVNb2QsXG4gICAgZGlzYWJsZWQsXG4gICAgZWxlbWVudFxuICBdKTtcblxuICBlcnJvcnM/Lmxlbmd0aCAmJiBjb25zb2xlLndhcm4oJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBGYWlsZWQgdG8gcmVuZGVyIEFkYXB0aXZlIENhcmRzLicsIGVycm9ycyk7XG5cbiAgcmV0dXJuIGVycm9ycz8ubGVuZ3RoID8gKFxuICAgIG5vZGVfZW52ID09PSAnZGV2ZWxvcG1lbnQnICYmIDxFcnJvckJveCBlcnJvcj17ZXJyb3JzWzBdfSB0eXBlPXtsb2NhbGl6ZSgnQURBUFRJVkVfQ0FSRF9FUlJPUl9CT1hfVElUTEVfUkVOREVSJyl9IC8+XG4gICkgOiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQgKyAnJywgJ3dlYmNoYXRfX2FkYXB0aXZlLWNhcmQtcmVuZGVyZXInKX1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb24gYXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+fVxuICAgICAgb25LZXlQcmVzcz17aGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiBhcyBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD59XG4gICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgLz5cbiAgKTtcbn07XG5cbkFkYXB0aXZlQ2FyZFJlbmRlcmVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lOiAnJyxcbiAgZGlzYWJsZWQ6IHVuZGVmaW5lZCxcbiAgdGFwQWN0aW9uOiB1bmRlZmluZWRcbn07XG5cbkFkYXB0aXZlQ2FyZFJlbmRlcmVyLnByb3BUeXBlcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBhZGFwdGl2ZUNhcmQ6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gIC8vIFR5cGVTY3JpcHQgY2xhc3MgaXMgbm90IG1hcHBhYmxlIHRvIFByb3BUeXBlcy5mdW5jXG4gIC8vIEB0cy1pZ25vcmVcbiAgdGFwQWN0aW9uOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGltYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQWRhcHRpdmVDYXJkUmVuZGVyZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElB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
246
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdENvbXBvbmVudCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcHJvcFR5cGVzIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlU3R5bGVTZXQzIiwiX3VzZUFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnIiwiX3VzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIiwiX3VzZVZhbHVlUmVmIiwiX3VzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCIsIl91c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0IiwiX3VzZURpc2FibGVkTW9kRWZmZWN0MyIsIl91c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0IiwiX3VzZVJvbGVNb2RFZmZlY3QzIiwiX3JlbmRlckFkYXB0aXZlQ2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiRXJyb3JCb3giLCJDb21wb25lbnRzIiwidXNlRGlzYWJsZWQiLCJob29rcyIsInVzZUxvY2FsaXplciIsInVzZVBlcmZvcm1DYXJkQWN0aW9uIiwidXNlUmVuZGVyTWFya2Rvd25Bc0hUTUwiLCJ1c2VTY3JvbGxUb0VuZCIsIm5vZGVfZW52IiwidW5kZWZpbmVkIiwiQWRhcHRpdmVDYXJkUmVuZGVyZXIiLCJfcmVmIiwiYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lIiwiYWRhcHRpdmVDYXJkIiwiZGlzYWJsZWRGcm9tUHJvcHMiLCJkaXNhYmxlZCIsInRhcEFjdGlvbiIsIl91c2VTdHlsZVNldCIsInVzZVN0eWxlU2V0IiwiX3VzZVN0eWxlU2V0MiIsIl9zbGljZWRUb0FycmF5MiIsImFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQiLCJhZGFwdGl2ZUNhcmRSZW5kZXJlciIsIl91c2VBZGFwdGl2ZUNhcmRzUGFjayIsInVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIiwiX3VzZUFkYXB0aXZlQ2FyZHNQYWNrMiIsIl91c2VBZGFwdGl2ZUNhcmRzUGFjazMiLCJHbG9iYWxTZXR0aW5ncyIsIkhvc3RDb25maWciLCJfdXNlQWRhcHRpdmVDYXJkc0hvc3QiLCJ1c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyIsIl91c2VBZGFwdGl2ZUNhcmRzSG9zdDIiLCJhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyIsIl91c2VEaXNhYmxlZCIsIl91c2VEaXNhYmxlZDIiLCJkaXNhYmxlZEZyb21Db21wb3NlciIsImNvbnRlbnRSZWYiLCJ1c2VSZWYiLCJsb2NhbGl6ZSIsInBlcmZvcm1DYXJkQWN0aW9uIiwicmVuZGVyTWFya2Rvd25Bc0hUTUwiLCJzY3JvbGxUb0VuZCIsInRhcEFjdGlvblJlZiIsInVzZVZhbHVlUmVmIiwiZGlzYWJsZWRSZWYiLCJoYW5kbGVDbGlja0FuZEtleVByZXNzIiwidXNlQ2FsbGJhY2siLCJldmVudCIsIl9yZWYyIiwidHlwZSIsInRhcmdldCIsImN1cnJlbnQiLCJhZGFwdGl2ZUNhcmRSb290IiwicXVlcnlTZWxlY3RvciIsImNvbnNvbGUiLCJ3YXJuIiwicHJldmVudERlZmF1bHQiLCJ0YWJJbmRleCIsImdldFRhYkluZGV4IiwiaGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiIsImhhbmRsZUV4ZWN1dGVBY3Rpb24iLCJhY3Rpb24iLCJhY3Rpb25UeXBlTmFtZSIsImdldEpzb25UeXBlTmFtZSIsImltYWdlIiwiaWNvblVybCIsInRpdGxlIiwiX3JlZjMiLCJ2YWx1ZSIsInVybCIsIl9yZWY0IiwiZGF0YSIsIl9faXNCb3RGcmFtZXdvcmtDYXJkQWN0aW9uIiwiY2FyZEFjdGlvbiIsImVycm9yIiwic2V0VGFiSW5kZXhBdENhcmRSb290IiwiX3VzZUFjdGlvblNob3VsZEJlUHVzIiwidXNlQWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kRWZmZWN0IiwiX3VzZUFjdGlvblNob3VsZEJlUHVzMiIsImFwcGx5QWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kIiwidW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCIsIl91c2VBY3RpdmVFbGVtZW50TW9kRSIsInVzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QiLCJfdXNlQWN0aXZlRWxlbWVudE1vZEUyIiwiYXBwbHlBY3RpdmVFbGVtZW50TW9kIiwidW5kb0FjdGl2ZUVsZW1lbnRNb2QiLCJfdXNlRGlzYWJsZWRNb2RFZmZlY3QiLCJ1c2VEaXNhYmxlZE1vZEVmZmVjdCIsIl91c2VEaXNhYmxlZE1vZEVmZmVjdDIiLCJhcHBseURpc2FibGVkTW9kIiwidW5kb0Rpc2FibGVkTW9kIiwiX3VzZVBlcnNpc3RWYWx1ZXNNb2RFIiwidXNlUGVyc2lzdFZhbHVlc01vZEVmZmVjdCIsIl91c2VQZXJzaXN0VmFsdWVzTW9kRTIiLCJhcHBseVBlcnNpc3RWYWx1ZXNNb2QiLCJ1bmRvUGVyc2lzdFZhbHVlc01vZCIsIl91c2VSb2xlTW9kRWZmZWN0IiwidXNlUm9sZU1vZEVmZmVjdCIsIl91c2VSb2xlTW9kRWZmZWN0MiIsImFwcGx5Um9sZU1vZCIsInVuZG9Sb2xlTW9kIiwiX3VzZU1lbW8iLCJ1c2VNZW1vIiwicmVuZGVyQWRhcHRpdmVDYXJkIiwiYWRhcHRpdmVDYXJkc1BhY2thZ2UiLCJlbGVtZW50IiwiZXJyb3JzIiwib25FeGVjdXRlQWN0aW9uIiwidXNlTGF5b3V0RWZmZWN0IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImxlbmd0aCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjbGFzc05hbWVzIiwib25DbGljayIsIm9uS2V5UHJlc3MiLCJyZWYiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJhbnkiLCJpc1JlcXVpcmVkIiwiYm9vbCIsInNoYXBlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRpdmVDYXJkcy9BdHRhY2htZW50L0FkYXB0aXZlQ2FyZFJlbmRlcmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbLTEsIDAsIDJdIH1dICovXG5cbmltcG9ydCB7IEFkYXB0aXZlQ2FyZCwgQWN0aW9uIGFzIEFkYXB0aXZlQ2FyZEFjdGlvbiwgT3BlblVybEFjdGlvbiwgU3VibWl0QWN0aW9uIH0gZnJvbSAnYWRhcHRpdmVjYXJkcyc7XG5pbXBvcnQgeyBDb21wb25lbnRzLCBnZXRUYWJJbmRleCwgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RMaW5lQ2FyZEFjdGlvbiB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIEtleWJvYXJkRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgVkZDLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWZcbn0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuaW1wb3J0IHVzZUFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnIGZyb20gJy4uL2hvb2tzL3VzZUFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnJztcbmltcG9ydCB1c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSBmcm9tICcuLi9ob29rcy91c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSc7XG5pbXBvcnQgeyBCb3RGcmFtZXdvcmtDYXJkQWN0aW9uIH0gZnJvbSAnLi9BZGFwdGl2ZUNhcmRCdWlsZGVyJztcbmltcG9ydCB1c2VWYWx1ZVJlZiBmcm9tICcuL0FkYXB0aXZlQ2FyZEhhY2tzL3ByaXZhdGUvdXNlVmFsdWVSZWYnO1xuaW1wb3J0IHVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCBmcm9tICcuL0FkYXB0aXZlQ2FyZEhhY2tzL3VzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCc7XG5pbXBvcnQgdXNlQWN0aXZlRWxlbWVudE1vZEVmZmVjdCBmcm9tICcuL0FkYXB0aXZlQ2FyZEhhY2tzL3VzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZURpc2FibGVkTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlRGlzYWJsZWRNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0JztcbmltcG9ydCB1c2VSb2xlTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlUm9sZU1vZEVmZmVjdCc7XG5pbXBvcnQgcmVuZGVyQWRhcHRpdmVDYXJkIGZyb20gJy4vcHJpdmF0ZS9yZW5kZXJBZGFwdGl2ZUNhcmQnO1xuXG5jb25zdCB7IEVycm9yQm94IH0gPSBDb21wb25lbnRzO1xuY29uc3QgeyB1c2VEaXNhYmxlZCwgdXNlTG9jYWxpemVyLCB1c2VQZXJmb3JtQ2FyZEFjdGlvbiwgdXNlUmVuZGVyTWFya2Rvd25Bc0hUTUwsIHVzZVNjcm9sbFRvRW5kIH0gPSBob29rcztcblxuY29uc3Qgbm9kZV9lbnYgPSBwcm9jZXNzLmVudi5ub2RlX2VudiB8fCBwcm9jZXNzLmVudi5OT0RFX0VOVjtcblxudHlwZSBBZGFwdGl2ZUNhcmRSZW5kZXJlclByb3BzID0ge1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWU/OiBzdHJpbmc7XG4gIGFkYXB0aXZlQ2FyZDogQWRhcHRpdmVDYXJkO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHRhcEFjdGlvbj86IERpcmVjdExpbmVDYXJkQWN0aW9uO1xufTtcblxuY29uc3QgQWRhcHRpdmVDYXJkUmVuZGVyZXI6IFZGQzxBZGFwdGl2ZUNhcmRSZW5kZXJlclByb3BzPiA9ICh7XG4gIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSxcbiAgYWRhcHRpdmVDYXJkLFxuICBkaXNhYmxlZDogZGlzYWJsZWRGcm9tUHJvcHMsXG4gIHRhcEFjdGlvblxufSkgPT4ge1xuICBjb25zdCBbeyBhZGFwdGl2ZUNhcmRSZW5kZXJlcjogYWRhcHRpdmVDYXJkUmVuZGVyZXJTdHlsZVNldCB9XSA9IHVzZVN0eWxlU2V0KCk7XG4gIGNvbnN0IFt7IEdsb2JhbFNldHRpbmdzLCBIb3N0Q29uZmlnIH1dID0gdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UoKTtcbiAgY29uc3QgW2FkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnXSA9IHVzZUFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnKCk7XG4gIGNvbnN0IFtkaXNhYmxlZEZyb21Db21wb3Nlcl0gPSB1c2VEaXNhYmxlZCgpO1xuICBjb25zdCBjb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuICBjb25zdCBwZXJmb3JtQ2FyZEFjdGlvbiA9IHVzZVBlcmZvcm1DYXJkQWN0aW9uKCk7XG4gIGNvbnN0IHJlbmRlck1hcmtkb3duQXNIVE1MID0gdXNlUmVuZGVyTWFya2Rvd25Bc0hUTUwoKTtcbiAgY29uc3Qgc2Nyb2xsVG9FbmQgPSB1c2VTY3JvbGxUb0VuZCgpO1xuXG4gIGNvbnN0IGRpc2FibGVkID0gZGlzYWJsZWRGcm9tQ29tcG9zZXIgfHwgZGlzYWJsZWRGcm9tUHJvcHM7XG4gIGNvbnN0IHRhcEFjdGlvblJlZiA9IHVzZVZhbHVlUmVmKHRhcEFjdGlvbik7XG5cbiAgY29uc3QgZGlzYWJsZWRSZWYgPSB1c2VWYWx1ZVJlZihkaXNhYmxlZCk7XG5cbiAgLy8gVE9ETzogW1AyXSAjMzE5OSBXZSBzaG91bGQgY29uc2lkZXIgdXNpbmcgYGFkYXB0aXZlQ2FyZC5zZWxlY3RBY3Rpb25gIGluc3RlYWQuXG4gIC8vIFRoZSBudWxsIGNoZWNrIGZvciBcInRhcEFjdGlvblwiIGlzIGluIFwiaGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvblwiLlxuICBjb25zdCBoYW5kbGVDbGlja0FuZEtleVByZXNzID0gdXNlQ2FsbGJhY2s8S2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+IHwgTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+PihcbiAgICAoZXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHsga2V5LCB0eXBlIH0gPSBldmVudCBhcyBLZXlib2FyZEV2ZW50O1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xuXG4gICAgICAvLyBTb21lIGl0ZW1zLCBlLmcuIHRhcHBhYmxlIHRleHQsIGNhbm5vdCBiZSBkaXNhYmxlZCB0aHJ1IERPTSBhdHRyaWJ1dGVzXG4gICAgICBjb25zdCB7IGN1cnJlbnQgfSA9IGNvbnRlbnRSZWY7XG4gICAgICBjb25zdCBhZGFwdGl2ZUNhcmRSb290ID0gY3VycmVudC5xdWVyeVNlbGVjdG9yKCcuYWMtYWRhcHRpdmVDYXJkW3RhYmluZGV4PVwiMFwiXScpO1xuXG4gICAgICBpZiAoIWFkYXB0aXZlQ2FyZFJvb3QpIHtcbiAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IE5vIEFkYXB0aXZlIENhcmQgcm9vdCBjb250YWluZXIgY2FuIGJlIGZvdW5kOyB0aGUgY2FyZCBpcyBwcm9iYWJseSBvbiBhbiB1bnN1cHBvcnRlZCBBZGFwdGl2ZSBDYXJkIHZlcnNpb24uJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBGb3IgXCJrZXlwcmVzc1wiIGV2ZW50LCB3ZSBvbmx5IGxpc3RlbiB0byBFTlRFUiBhbmQgU1BBQ0VCQVIga2V5LlxuICAgICAgaWYgKHR5cGUgPT09ICdrZXlwcmVzcycpIHtcbiAgICAgICAgaWYgKGtleSAhPT0gJ0VudGVyJyAmJiBrZXkgIT09ICcgJykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdlIHdpbGwgY2FsbCBwZXJmb3JtQ2FyZEFjdGlvbiBpZiBlaXRoZXI6XG4gICAgICAvLyAxLiBXZSBhcmUgb24gdGhlIHRhcmdldCwgb3JcbiAgICAgIC8vIDIuIFRoZSBldmVudC1kaXNwYXRjaGluZyBlbGVtZW50IGlzIG5vdCBpbnRlcmFjdGl2ZVxuICAgICAgaWYgKHRhcmdldCAhPT0gYWRhcHRpdmVDYXJkUm9vdCkge1xuICAgICAgICBjb25zdCB0YWJJbmRleCA9IGdldFRhYkluZGV4KHRhcmdldCk7XG5cbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgY2xpY2tpbmcgb24gc29tZXRoaW5nIHRoYXQgaXMgYWxyZWFkeSBjbGlja2FibGUsIGRvIG5vdCBhbGxvdyB0aGVtIHRvIGNsaWNrIHRoZSBjYXJkLlxuICAgICAgICAvLyBFLmcuIGEgaGVybyBjYXJkIGNhbiBiZSB0YXBwYWJsZSwgYW5kIGltYWdlIGFuZCBidXR0b25zIGluc2lkZSB0aGUgaGVybyBjYXJkIGNhbiBhbHNvIGJlIHRhcHBhYmxlLlxuICAgICAgICBpZiAodHlwZW9mIHRhYkluZGV4ID09PSAnbnVtYmVyJyAmJiB0YWJJbmRleCA+PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHBlcmZvcm1DYXJkQWN0aW9uKHRhcEFjdGlvblJlZi5jdXJyZW50KTtcbiAgICAgIHNjcm9sbFRvRW5kKCk7XG4gICAgfSxcbiAgICBbY29udGVudFJlZiwgcGVyZm9ybUNhcmRBY3Rpb24sIHNjcm9sbFRvRW5kLCB0YXBBY3Rpb25SZWZdXG4gICk7XG5cbiAgLy8gT25seSBsaXN0ZW4gdG8gZXZlbnQgaWYgaXQgaXMgbm90IGRpc2FibGVkIGFuZCBoYXZlIFwidGFwQWN0aW9uXCIgcHJvcC5cbiAgY29uc3QgaGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiA9ICFkaXNhYmxlZCAmJiB0YXBBY3Rpb24gPyBoYW5kbGVDbGlja0FuZEtleVByZXNzIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGhhbmRsZUV4ZWN1dGVBY3Rpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoYWN0aW9uOiBBZGFwdGl2ZUNhcmRBY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgIC8vIFNvbWUgaXRlbXMsIGUuZy4gdGFwcGFibGUgaW1hZ2UsIGNhbm5vdCBiZSBkaXNhYmxlZCB0aHJ1IERPTSBhdHRyaWJ1dGVzXG4gICAgICBpZiAoZGlzYWJsZWRSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFjdGlvblR5cGVOYW1lID0gYWN0aW9uLmdldEpzb25UeXBlTmFtZSgpO1xuICAgICAgY29uc3QgeyBpY29uVXJsOiBpbWFnZSwgdGl0bGUgfSA9IGFjdGlvbjtcblxuICAgICAgLy8gV2UgY2Fubm90IHVzZSBcImluc3RhbmNlb2ZcIiBjaGVjayBoZXJlLCBiZWNhdXNlIHdlYiBkZXZzIG1heSBicmluZyB0aGVpciBvd24gdmVyc2lvbiBvZiBBZGFwdGl2ZSBDYXJkcyBwYWNrYWdlLlxuICAgICAgLy8gV2UgbmVlZCB0byBjaGVjayB1c2luZyBcImdldEpzb25UeXBlTmFtZSgpXCIgaW5zdGVhZC5cbiAgICAgIGlmIChhY3Rpb25UeXBlTmFtZSA9PT0gJ0FjdGlvbi5PcGVuVXJsJykge1xuICAgICAgICBjb25zdCB7IHVybDogdmFsdWUgfSA9IGFjdGlvbiBhcyBPcGVuVXJsQWN0aW9uO1xuXG4gICAgICAgIHBlcmZvcm1DYXJkQWN0aW9uKHtcbiAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICB0eXBlOiAnb3BlblVybCcsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGFjdGlvblR5cGVOYW1lID09PSAnQWN0aW9uLlN1Ym1pdCcpIHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBhY3Rpb24gYXMgU3VibWl0QWN0aW9uIGFzIHtcbiAgICAgICAgICBkYXRhOiBzdHJpbmcgfCBCb3RGcmFtZXdvcmtDYXJkQWN0aW9uO1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0eXBlb2YgZGF0YSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbih7XG4gICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgdHlwZTogJ2ltQmFjaycsXG4gICAgICAgICAgICAgIHZhbHVlOiBkYXRhXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuX19pc0JvdEZyYW1ld29ya0NhcmRBY3Rpb24pIHtcbiAgICAgICAgICAgIHBlcmZvcm1DYXJkQWN0aW9uKGRhdGEuY2FyZEFjdGlvbik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBlcmZvcm1DYXJkQWN0aW9uKHtcbiAgICAgICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgICB0eXBlOiAncG9zdEJhY2snLFxuICAgICAgICAgICAgICB2YWx1ZTogZGF0YVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2Nyb2xsVG9FbmQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFdlYiBDaGF0OiByZWNlaXZlZCB1bmtub3duIGFjdGlvbiBmcm9tIEFkYXB0aXZlIENhcmRzYCk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYWN0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtkaXNhYmxlZFJlZiwgcGVyZm9ybUNhcmRBY3Rpb24sIHNjcm9sbFRvRW5kXVxuICApO1xuXG4gIC8vIEZvciBhY2Nlc3NpYmlsaXR5IGlzc3VlICMxMzQwLCBgdGFiaW5kZXg9XCIwXCJgIG11c3Qgbm90IGJlIHNldCBmb3IgdGhlIHJvb3QgY29udGFpbmVyIGlmIGl0IGlzIG5vdCBpbnRlcmFjdGl2ZS5cbiAgY29uc3Qgc2V0VGFiSW5kZXhBdENhcmRSb290ID0gISF0YXBBY3Rpb247XG5cbiAgY29uc3QgW2FwcGx5QWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kLCB1bmRvQWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kXSA9XG4gICAgdXNlQWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseUFjdGl2ZUVsZW1lbnRNb2QsIHVuZG9BY3RpdmVFbGVtZW50TW9kXSA9IHVzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5RGlzYWJsZWRNb2QsIHVuZG9EaXNhYmxlZE1vZF0gPSB1c2VEaXNhYmxlZE1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlQZXJzaXN0VmFsdWVzTW9kLCB1bmRvUGVyc2lzdFZhbHVlc01vZF0gPSB1c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseVJvbGVNb2QsIHVuZG9Sb2xlTW9kXSA9IHVzZVJvbGVNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcblxuICBjb25zdCB7IGVsZW1lbnQsIGVycm9ycyB9OiB7IGVsZW1lbnQ/OiBIVE1MRWxlbWVudDsgZXJyb3JzPzogRXJyb3JbXSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCgpO1xuICAgIHVuZG9BY3RpdmVFbGVtZW50TW9kKCk7XG4gICAgdW5kb0Rpc2FibGVkTW9kKCk7XG4gICAgdW5kb1BlcnNpc3RWYWx1ZXNNb2QoKTtcbiAgICB1bmRvUm9sZU1vZCgpO1xuXG4gICAgcmV0dXJuIHJlbmRlckFkYXB0aXZlQ2FyZChhZGFwdGl2ZUNhcmQsIHtcbiAgICAgIGFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnLFxuICAgICAgYWRhcHRpdmVDYXJkc1BhY2thZ2U6IHsgR2xvYmFsU2V0dGluZ3MsIEhvc3RDb25maWcgfSxcbiAgICAgIHJlbmRlck1hcmtkb3duQXNIVE1MLFxuICAgICAgc2V0VGFiSW5kZXhBdENhcmRSb290XG4gICAgfSk7XG4gIH0sIFtcbiAgICBhZGFwdGl2ZUNhcmQsXG4gICAgYWRhcHRpdmVDYXJkc0hvc3RDb25maWcsXG4gICAgR2xvYmFsU2V0dGluZ3MsXG4gICAgSG9zdENvbmZpZyxcbiAgICByZW5kZXJNYXJrZG93bkFzSFRNTCxcbiAgICBzZXRUYWJJbmRleEF0Q2FyZFJvb3QsXG4gICAgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCxcbiAgICB1bmRvQWN0aXZlRWxlbWVudE1vZCxcbiAgICB1bmRvRGlzYWJsZWRNb2QsXG4gICAgdW5kb1BlcnNpc3RWYWx1ZXNNb2QsXG4gICAgdW5kb1JvbGVNb2RcbiAgXSk7XG5cbiAgdXNlTWVtbygoKSA9PiB7XG4gICAgYWRhcHRpdmVDYXJkLm9uRXhlY3V0ZUFjdGlvbiA9IGhhbmRsZUV4ZWN1dGVBY3Rpb247XG4gIH0sIFthZGFwdGl2ZUNhcmQsIGhhbmRsZUV4ZWN1dGVBY3Rpb25dKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudCB9ID0gY29udGVudFJlZjtcblxuICAgIGN1cnJlbnQ/LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGN1cnJlbnQ/LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICAgIH07XG4gIH0sIFtjb250ZW50UmVmLCBlbGVtZW50XSk7XG5cbiAgLy8gQXBwbHkgYWxsIG1vZHMgcmVnYXJkbGVzcyB3aGV0aGVyIHRoZSBlbGVtZW50IGNoYW5nZWQgb3Igbm90LlxuICAvLyBUaGlzIGlzIGJlY2F1c2Ugd2UgaGF2ZSB1bmRvZWQgbW9kcyB3aGVuIHdlIGNhbGwgdGhlIGB1c2VYWFhNb2RFZmZlY3RgIGhvb2suXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIGFwcGx5QWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kKGVsZW1lbnQsIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSk7XG4gICAgICBhcHBseUFjdGl2ZUVsZW1lbnRNb2QoZWxlbWVudCk7XG4gICAgICBhcHBseURpc2FibGVkTW9kKGVsZW1lbnQsIGRpc2FibGVkKTtcbiAgICAgIGFwcGx5UGVyc2lzdFZhbHVlc01vZChlbGVtZW50KTtcbiAgICAgIGFwcGx5Um9sZU1vZChlbGVtZW50KTtcbiAgICB9XG4gIH0sIFtcbiAgICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWUsXG4gICAgYXBwbHlBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QsXG4gICAgYXBwbHlBY3RpdmVFbGVtZW50TW9kLFxuICAgIGFwcGx5RGlzYWJsZWRNb2QsXG4gICAgYXBwbHlQZXJzaXN0VmFsdWVzTW9kLFxuICAgIGFwcGx5Um9sZU1vZCxcbiAgICBkaXNhYmxlZCxcbiAgICBlbGVtZW50XG4gIF0pO1xuXG4gIGVycm9ycz8ubGVuZ3RoICYmIGNvbnNvbGUud2FybignYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IEZhaWxlZCB0byByZW5kZXIgQWRhcHRpdmUgQ2FyZHMuJywgZXJyb3JzKTtcblxuICByZXR1cm4gZXJyb3JzPy5sZW5ndGggPyAoXG4gICAgbm9kZV9lbnYgPT09ICdkZXZlbG9wbWVudCcgJiYgPEVycm9yQm94IGVycm9yPXtlcnJvcnNbMF19IHR5cGU9e2xvY2FsaXplKCdBREFQVElWRV9DQVJEX0VSUk9SX0JPWF9USVRMRV9SRU5ERVInKX0gLz5cbiAgKSA6IChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoYWRhcHRpdmVDYXJkUmVuZGVyZXJTdHlsZVNldCArICcnLCAnd2ViY2hhdF9fYWRhcHRpdmUtY2FyZC1yZW5kZXJlcicpfVxuICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD59XG4gICAgICBvbktleVByZXNzPXtoYW5kbGVDbGlja0FuZEtleVByZXNzRm9yVGFwQWN0aW9uIGFzIEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pn1cbiAgICAgIHJlZj17Y29udGVudFJlZn1cbiAgICAvPlxuICApO1xufTtcblxuQWRhcHRpdmVDYXJkUmVuZGVyZXIuZGVmYXVsdFByb3BzID0ge1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWU6ICcnLFxuICBkaXNhYmxlZDogdW5kZWZpbmVkLFxuICB0YXBBY3Rpb246IHVuZGVmaW5lZFxufTtcblxuQWRhcHRpdmVDYXJkUmVuZGVyZXIucHJvcFR5cGVzID0ge1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGFkYXB0aXZlQ2FyZDogUHJvcFR5cGVzLmFueS5pc1JlcXVpcmVkLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLy8gVHlwZVNjcmlwdCBjbGFzcyBpcyBub3QgbWFwcGFibGUgdG8gUHJvcFR5cGVzLmZ1bmNcbiAgLy8gQHRzLWlnbm9yZVxuICB0YXBBY3Rpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgaW1hZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG59O1xuXG5leHBvcnQgZGVmYXVsdCBBZGFwdGl2ZUNhcmRSZW5kZXJlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsNkJBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQVVBLElBQUFNLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLDJCQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSx3QkFBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQVMsWUFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVUscUNBQUEsR0FBQVIsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFXLDBCQUFBLEdBQUFULHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBWSxzQkFBQSxHQUFBVixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQWEsMEJBQUEsR0FBQVgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFjLGtCQUFBLEdBQUFaLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBZSxtQkFBQSxHQUFBYixzQkFBQSxDQUFBRixPQUFBO0FBQThELFNBQUFnQix5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEs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
package/lib/addVersion.js CHANGED
@@ -23,7 +23,7 @@ function setMetaTag(name, content) {
23
23
  }
24
24
  function addVersion(variant) {
25
25
  setMetaTag('botframework-webchat:bundle:variant', variant);
26
- setMetaTag('botframework-webchat:bundle:version', "4.16.1-main.20240328.82ad15e");
26
+ setMetaTag('botframework-webchat:bundle:version', "4.16.1-main.20240401.512cc60");
27
27
  setMetaTag('botframework-webchat:core:version', _botframeworkWebchatCore.version);
28
28
  setMetaTag('botframework-webchat:ui:version', _botframeworkWebchatComponent.version);
29
29
  }
@@ -548,7 +548,7 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
548
548
  readonly sendBoxBorderTop: string | number;
549
549
  readonly sendBoxPlaceholderColor: string;
550
550
  readonly sendBoxTextWrap: boolean;
551
- readonly sendBoxButtonAlignment: "stretch" | "bottom" | "top";
551
+ readonly sendBoxButtonAlignment: "bottom" | "top" | "stretch";
552
552
  readonly showSpokenText: boolean;
553
553
  readonly spinnerAnimationBackgroundImage: string;
554
554
  readonly spinnerAnimationHeight: string | number;
@@ -602,7 +602,7 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
602
602
  readonly suggestedActionsCarouselFlipperSize: number;
603
603
  readonly suggestedActionsFlowMaxHeight: undefined;
604
604
  readonly suggestedActionsStackedHeight: number | "auto";
605
- readonly suggestedActionsStackedOverflow: "auto" | "scroll" | "hidden" | "visible";
605
+ readonly suggestedActionsStackedOverflow: "auto" | "hidden" | "scroll" | "visible";
606
606
  readonly suggestedActionsStackedLayoutButtonMaxHeight: string | number;
607
607
  readonly suggestedActionsStackedLayoutButtonTextWrap: boolean;
608
608
  readonly suggestedActionsVisualKeyboardIndicatorColor: string;
@@ -1108,7 +1108,7 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
1108
1108
  '&.webchat__suggested-actions--stacked-layout': {
1109
1109
  '& .webchat__suggested-actions__stack': {
1110
1110
  maxHeight: number | "auto";
1111
- overflowY: "auto" | "scroll" | "hidden" | "visible";
1111
+ overflowY: "auto" | "hidden" | "scroll" | "visible";
1112
1112
  paddingBottom: number;
1113
1113
  paddingLeft: number;
1114
1114
  paddingRight: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botframework-webchat",
3
- "version": "4.16.1-main.20240328.82ad15e",
3
+ "version": "4.16.1-main.20240401.512cc60",
4
4
  "description": "A highly-customizable web-based chat client for Azure Bot Services.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -87,13 +87,17 @@
87
87
  "@babel/*@7.21 is causing out-of-memory (OOM) issues"
88
88
  ],
89
89
  "adaptivecards": [
90
- "2.11.1",
90
+ "3.0.2",
91
91
  "needs to bump manually"
92
92
  ],
93
93
  "microsoft-cognitiveservices-speech-sdk": [
94
94
  "1.17.0",
95
95
  "needs to bump manually"
96
96
  ],
97
+ "swiper": [
98
+ "^8.2.6",
99
+ "required by Adaptive Cards but they forget to include in adaptivecards@3.0.2"
100
+ ],
97
101
  "uuid": [
98
102
  "8",
99
103
  "uuid@9 emit non-ES5 build because of default parameters"
@@ -101,12 +105,12 @@
101
105
  },
102
106
  "dependencies": {
103
107
  "@babel/runtime": "7.19.0",
104
- "adaptivecards": "2.11.1",
108
+ "adaptivecards": "3.0.2",
105
109
  "botframework-directlinejs": "0.15.5",
106
- "botframework-directlinespeech-sdk": "4.16.1-main.20240328.82ad15e",
107
- "botframework-webchat-api": "4.16.1-main.20240328.82ad15e",
108
- "botframework-webchat-component": "4.16.1-main.20240328.82ad15e",
109
- "botframework-webchat-core": "4.16.1-main.20240328.82ad15e",
110
+ "botframework-directlinespeech-sdk": "4.16.1-main.20240401.512cc60",
111
+ "botframework-webchat-api": "4.16.1-main.20240401.512cc60",
112
+ "botframework-webchat-component": "4.16.1-main.20240401.512cc60",
113
+ "botframework-webchat-core": "4.16.1-main.20240401.512cc60",
110
114
  "classnames": "2.3.2",
111
115
  "core-js": "3.34.0",
112
116
  "markdown-it": "13.0.2",
@@ -119,6 +123,7 @@
119
123
  "microsoft-cognitiveservices-speech-sdk": "1.17.0",
120
124
  "prop-types": "15.8.1",
121
125
  "sanitize-html": "2.11.0",
126
+ "swiper": "^8.2.6",
122
127
  "url-search-params-polyfill": "8.2.5",
123
128
  "uuid": "8.3.2",
124
129
  "web-speech-cognitive-services": "7.1.3",
@@ -139,8 +144,8 @@
139
144
  "babel-plugin-transform-inline-environment-variables": "^0.4.4",
140
145
  "concurrently": "^8.2.2",
141
146
  "esbuild": "^0.19.8",
142
- "isomorphic-react": "4.16.1-main.20240328.82ad15e",
143
- "isomorphic-react-dom": "4.16.1-main.20240328.82ad15e",
147
+ "isomorphic-react": "4.16.1-main.20240401.512cc60",
148
+ "isomorphic-react-dom": "4.16.1-main.20240401.512cc60",
144
149
  "source-map-loader": "^4.0.1",
145
150
  "terser-webpack-plugin": "^5.3.9",
146
151
  "tsd": "^0.30.3",
@@ -1,32 +1,31 @@
1
1
  /* eslint no-magic-numbers: ["error", { "ignore": [-1, 0, 2] }] */
2
2
 
3
- import { Action as AdaptiveCardAction, AdaptiveCard, OpenUrlAction, SubmitAction } from 'adaptivecards';
3
+ import { AdaptiveCard, Action as AdaptiveCardAction, OpenUrlAction, SubmitAction } from 'adaptivecards';
4
4
  import { Components, getTabIndex, hooks } from 'botframework-webchat-component';
5
+ import type { DirectLineCardAction } from 'botframework-webchat-core';
5
6
  import classNames from 'classnames';
6
7
  import PropTypes from 'prop-types';
7
8
  import React, {
8
9
  KeyboardEventHandler,
9
10
  MouseEventHandler,
11
+ VFC,
10
12
  useCallback,
11
13
  useLayoutEffect,
12
14
  useMemo,
13
- useRef,
14
- VFC
15
+ useRef
15
16
  } from 'react';
16
- import type { DirectLineCardAction } from 'botframework-webchat-core';
17
17
 
18
+ import useStyleSet from '../../hooks/useStyleSet';
19
+ import useAdaptiveCardsHostConfig from '../hooks/useAdaptiveCardsHostConfig';
20
+ import useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';
18
21
  import { BotFrameworkCardAction } from './AdaptiveCardBuilder';
19
- import renderAdaptiveCard from './private/renderAdaptiveCard';
20
- import useActionSetShouldNotBeMenuBarModEffect from './AdaptiveCardHacks/useActionSetShouldNotBeMenuBarModEffect';
22
+ import useValueRef from './AdaptiveCardHacks/private/useValueRef';
21
23
  import useActionShouldBePushButtonModEffect from './AdaptiveCardHacks/useActionShouldBePushButtonModEffect';
22
24
  import useActiveElementModEffect from './AdaptiveCardHacks/useActiveElementModEffect';
23
- import useAdaptiveCardsHostConfig from '../hooks/useAdaptiveCardsHostConfig';
24
- import useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';
25
25
  import useDisabledModEffect from './AdaptiveCardHacks/useDisabledModEffect';
26
26
  import usePersistValuesModEffect from './AdaptiveCardHacks/usePersistValuesModEffect';
27
27
  import useRoleModEffect from './AdaptiveCardHacks/useRoleModEffect';
28
- import useStyleSet from '../../hooks/useStyleSet';
29
- import useValueRef from './AdaptiveCardHacks/private/useValueRef';
28
+ import renderAdaptiveCard from './private/renderAdaptiveCard';
30
29
 
31
30
  const { ErrorBox } = Components;
32
31
  const { useDisabled, useLocalizer, usePerformCardAction, useRenderMarkdownAsHTML, useScrollToEnd } = hooks;
@@ -169,8 +168,6 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
169
168
 
170
169
  const [applyActionShouldBePushButtonMod, undoActionShouldBePushButtonMod] =
171
170
  useActionShouldBePushButtonModEffect(adaptiveCard);
172
- const [applyActionSetShouldNotBeMenuBarMod, undoActionSetShouldNotBeMenuBarMod] =
173
- useActionSetShouldNotBeMenuBarModEffect(adaptiveCard);
174
171
  const [applyActiveElementMod, undoActiveElementMod] = useActiveElementModEffect(adaptiveCard);
175
172
  const [applyDisabledMod, undoDisabledMod] = useDisabledModEffect(adaptiveCard);
176
173
  const [applyPersistValuesMod, undoPersistValuesMod] = usePersistValuesModEffect(adaptiveCard);
@@ -178,7 +175,6 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
178
175
 
179
176
  const { element, errors }: { element?: HTMLElement; errors?: Error[] } = useMemo(() => {
180
177
  undoActionShouldBePushButtonMod();
181
- undoActionSetShouldNotBeMenuBarMod();
182
178
  undoActiveElementMod();
183
179
  undoDisabledMod();
184
180
  undoPersistValuesMod();
@@ -198,7 +194,6 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
198
194
  renderMarkdownAsHTML,
199
195
  setTabIndexAtCardRoot,
200
196
  undoActionShouldBePushButtonMod,
201
- undoActionSetShouldNotBeMenuBarMod,
202
197
  undoActiveElementMod,
203
198
  undoDisabledMod,
204
199
  undoPersistValuesMod,
@@ -224,7 +219,6 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
224
219
  useLayoutEffect(() => {
225
220
  if (element) {
226
221
  applyActionShouldBePushButtonMod(element, actionPerformedClassName);
227
- applyActionSetShouldNotBeMenuBarMod(element);
228
222
  applyActiveElementMod(element);
229
223
  applyDisabledMod(element, disabled);
230
224
  applyPersistValuesMod(element);
@@ -233,7 +227,6 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
233
227
  }, [
234
228
  actionPerformedClassName,
235
229
  applyActionShouldBePushButtonMod,
236
- applyActionSetShouldNotBeMenuBarMod,
237
230
  applyActiveElementMod,
238
231
  applyDisabledMod,
239
232
  applyPersistValuesMod,
@@ -1,16 +0,0 @@
1
- import type { AdaptiveCard } from 'adaptivecards';
2
- /**
3
- * Accessibility: ActionSet should not be menu bar.
4
- *
5
- * Menu bar is not accessible through screen reader keyboard shortcut keys:
6
- *
7
- * - <kbd>B</kbd> will jump to next button, which the end-user can quickly the chosen action;
8
- * - <kbd>F</kbd> will jump to next form field, which is very similar but also jump to text fields;
9
- * - There are no keyboard shortcut keys for menu.
10
- *
11
- * Marking action button as menu item in a menu bar hurts accessibility. End-user will not be able to jump to buttons quickly.
12
- *
13
- * Thus, ActionSet should not be menu bar.
14
- */
15
- export default function useActionShouldBePushButtonModEffect(adaptiveCard: AdaptiveCard): readonly [(cardElement: HTMLElement) => void, () => void];
16
- //# sourceMappingURL=useActionSetShouldNotBeMenuBarModEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useActionSetShouldNotBeMenuBarModEffect.d.ts","sourceRoot":"","sources":["../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/useActionSetShouldNotBeMenuBarModEffect.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,oCAAoC,CAAC,YAAY,EAAE,YAAY,6DAiBtF"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = useActionShouldBePushButtonModEffect;
8
- var _react = require("react");
9
- var _bunchUndos = _interopRequireDefault(require("../../DOMManipulationWithUndo/bunchUndos"));
10
- var _setOrRemoveAttributeIfFalseWithUndo = _interopRequireDefault(require("../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo"));
11
- var _useAdaptiveCardModEffect = _interopRequireDefault(require("./private/useAdaptiveCardModEffect"));
12
- /**
13
- * Accessibility: ActionSet should not be menu bar.
14
- *
15
- * Menu bar is not accessible through screen reader keyboard shortcut keys:
16
- *
17
- * - <kbd>B</kbd> will jump to next button, which the end-user can quickly the chosen action;
18
- * - <kbd>F</kbd> will jump to next form field, which is very similar but also jump to text fields;
19
- * - There are no keyboard shortcut keys for menu.
20
- *
21
- * Marking action button as menu item in a menu bar hurts accessibility. End-user will not be able to jump to buttons quickly.
22
- *
23
- * Thus, ActionSet should not be menu bar.
24
- */
25
- function useActionShouldBePushButtonModEffect(adaptiveCard) {
26
- var modder = (0, _react.useMemo)(function () {
27
- return function (_, cardElement) {
28
- var actionSetElements = Array.from(cardElement.querySelectorAll('.ac-actionSet[role="menubar"]'));
29
- var undoStack = actionSetElements.map(function (actionSetElement) {
30
- return (0, _setOrRemoveAttributeIfFalseWithUndo.default)(actionSetElement, 'role', false);
31
- });
32
- return function () {
33
- return (0, _bunchUndos.default)(undoStack)();
34
- };
35
- };
36
- }, []);
37
- return (0, _useAdaptiveCardModEffect.default)(modder, adaptiveCard);
38
- }
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2J1bmNoVW5kb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3NldE9yUmVtb3ZlQXR0cmlidXRlSWZGYWxzZVdpdGhVbmRvIiwiX3VzZUFkYXB0aXZlQ2FyZE1vZEVmZmVjdCIsInVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCIsImFkYXB0aXZlQ2FyZCIsIm1vZGRlciIsInVzZU1lbW8iLCJfIiwiY2FyZEVsZW1lbnQiLCJhY3Rpb25TZXRFbGVtZW50cyIsIkFycmF5IiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJ1bmRvU3RhY2siLCJtYXAiLCJhY3Rpb25TZXRFbGVtZW50Iiwic2V0T3JSZW1vdmVBdHRyaWJ1dGVJZkZhbHNlV2l0aFVuZG8iLCJidW5jaFVuZG9zIiwidXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0Il0sInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRhcHRpdmVDYXJkcy9BdHRhY2htZW50L0FkYXB0aXZlQ2FyZEhhY2tzL3VzZUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZEVmZmVjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgYnVuY2hVbmRvcyBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby9idW5jaFVuZG9zJztcbmltcG9ydCBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby9zZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyc7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0IGZyb20gJy4vcHJpdmF0ZS91c2VBZGFwdGl2ZUNhcmRNb2RFZmZlY3QnO1xuXG5pbXBvcnQgdHlwZSB7IEFkYXB0aXZlQ2FyZCB9IGZyb20gJ2FkYXB0aXZlY2FyZHMnO1xuXG4vKipcbiAqIEFjY2Vzc2liaWxpdHk6IEFjdGlvblNldCBzaG91bGQgbm90IGJlIG1lbnUgYmFyLlxuICpcbiAqIE1lbnUgYmFyIGlzIG5vdCBhY2Nlc3NpYmxlIHRocm91Z2ggc2NyZWVuIHJlYWRlciBrZXlib2FyZCBzaG9ydGN1dCBrZXlzOlxuICpcbiAqIC0gPGtiZD5CPC9rYmQ+IHdpbGwganVtcCB0byBuZXh0IGJ1dHRvbiwgd2hpY2ggdGhlIGVuZC11c2VyIGNhbiBxdWlja2x5IHRoZSBjaG9zZW4gYWN0aW9uO1xuICogLSA8a2JkPkY8L2tiZD4gd2lsbCBqdW1wIHRvIG5leHQgZm9ybSBmaWVsZCwgd2hpY2ggaXMgdmVyeSBzaW1pbGFyIGJ1dCBhbHNvIGp1bXAgdG8gdGV4dCBmaWVsZHM7XG4gKiAtIFRoZXJlIGFyZSBubyBrZXlib2FyZCBzaG9ydGN1dCBrZXlzIGZvciBtZW51LlxuICpcbiAqIE1hcmtpbmcgYWN0aW9uIGJ1dHRvbiBhcyBtZW51IGl0ZW0gaW4gYSBtZW51IGJhciBodXJ0cyBhY2Nlc3NpYmlsaXR5LiBFbmQtdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGp1bXAgdG8gYnV0dG9ucyBxdWlja2x5LlxuICpcbiAqIFRodXMsIEFjdGlvblNldCBzaG91bGQgbm90IGJlIG1lbnUgYmFyLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QoYWRhcHRpdmVDYXJkOiBBZGFwdGl2ZUNhcmQpIHtcbiAgY29uc3QgbW9kZGVyID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoXzogQWRhcHRpdmVDYXJkLCBjYXJkRWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvblNldEVsZW1lbnRzID0gQXJyYXkuZnJvbShcbiAgICAgICAgY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFjLWFjdGlvblNldFtyb2xlPVwibWVudWJhclwiXScpIGFzIE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+XG4gICAgICApO1xuXG4gICAgICBjb25zdCB1bmRvU3RhY2sgPSBhY3Rpb25TZXRFbGVtZW50cy5tYXAoYWN0aW9uU2V0RWxlbWVudCA9PlxuICAgICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyhhY3Rpb25TZXRFbGVtZW50LCAncm9sZScsIGZhbHNlKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuICgpID0+IGJ1bmNoVW5kb3ModW5kb1N0YWNrKSgpO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICByZXR1cm4gdXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0KG1vZGRlciwgYWRhcHRpdmVDYXJkKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLG9DQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSx5QkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxTQUFTSyxvQ0FBb0NBLENBQUNDLFlBQTBCLEVBQUU7RUFDdkYsSUFBTUMsTUFBTSxHQUFHLElBQUFDLGNBQU8sRUFDcEI7SUFBQSxPQUFNLFVBQUNDLENBQWUsRUFBRUMsV0FBd0IsRUFBSztNQUNuRCxJQUFNQyxpQkFBaUIsR0FBR0MsS0FBSyxDQUFDQyxJQUFJLENBQ2xDSCxXQUFXLENBQUNJLGdCQUFnQixDQUFDLCtCQUErQixDQUM5RCxDQUFDO01BRUQsSUFBTUMsU0FBUyxHQUFHSixpQkFBaUIsQ0FBQ0ssR0FBRyxDQUFDLFVBQUFDLGdCQUFnQjtRQUFBLE9BQ3RELElBQUFDLDRDQUFtQyxFQUFDRCxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO01BQUEsQ0FDdEUsQ0FBQztNQUVELE9BQU87UUFBQSxPQUFNLElBQUFFLG1CQUFVLEVBQUNKLFNBQVMsQ0FBQyxDQUFDLENBQUM7TUFBQTtJQUN0QyxDQUFDO0VBQUEsR0FDRCxFQUNGLENBQUM7RUFFRCxPQUFPLElBQUFLLGlDQUF3QixFQUFDYixNQUFNLEVBQUVELFlBQVksQ0FBQztBQUN2RCJ9
@@ -1,39 +0,0 @@
1
- import { useMemo } from 'react';
2
-
3
- import bunchUndos from '../../DOMManipulationWithUndo/bunchUndos';
4
- import setOrRemoveAttributeIfFalseWithUndo from '../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo';
5
- import useAdaptiveCardModEffect from './private/useAdaptiveCardModEffect';
6
-
7
- import type { AdaptiveCard } from 'adaptivecards';
8
-
9
- /**
10
- * Accessibility: ActionSet should not be menu bar.
11
- *
12
- * Menu bar is not accessible through screen reader keyboard shortcut keys:
13
- *
14
- * - <kbd>B</kbd> will jump to next button, which the end-user can quickly the chosen action;
15
- * - <kbd>F</kbd> will jump to next form field, which is very similar but also jump to text fields;
16
- * - There are no keyboard shortcut keys for menu.
17
- *
18
- * Marking action button as menu item in a menu bar hurts accessibility. End-user will not be able to jump to buttons quickly.
19
- *
20
- * Thus, ActionSet should not be menu bar.
21
- */
22
- export default function useActionShouldBePushButtonModEffect(adaptiveCard: AdaptiveCard) {
23
- const modder = useMemo(
24
- () => (_: AdaptiveCard, cardElement: HTMLElement) => {
25
- const actionSetElements = Array.from(
26
- cardElement.querySelectorAll('.ac-actionSet[role="menubar"]') as NodeListOf<HTMLElement>
27
- );
28
-
29
- const undoStack = actionSetElements.map(actionSetElement =>
30
- setOrRemoveAttributeIfFalseWithUndo(actionSetElement, 'role', false)
31
- );
32
-
33
- return () => bunchUndos(undoStack)();
34
- },
35
- []
36
- );
37
-
38
- return useAdaptiveCardModEffect(modder, adaptiveCard);
39
- }