botframework-webchat 4.16.1-main.20240405.136b5a4 → 4.16.1-main.20240405.6a623fb

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.
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.20240405.136b5a4");
26
+ setMetaTag('botframework-webchat:bundle:version', "4.16.1-main.20240405.6a623fb");
27
27
  setMetaTag('botframework-webchat:core:version', _botframeworkWebchatCore.version);
28
28
  setMetaTag('botframework-webchat:ui:version', _botframeworkWebchatComponent.version);
29
29
  }
@@ -1398,6 +1398,7 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
1398
1398
  '&.webchat__css-custom-properties': {
1399
1399
  display: string;
1400
1400
  "--webchat__color--accent": string;
1401
+ "--webchat__color--subtle": string;
1401
1402
  "--webchat__color--timestamp": string;
1402
1403
  "--webchat__font--primary": string;
1403
1404
  "--webchat__font-size--small": string | number;
@@ -1409,12 +1410,12 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
1409
1410
  };
1410
1411
  linkDefinitions: {
1411
1412
  '&.webchat__link-definitions': {
1412
- '&[open] .webchat__link-definitions__header::after': {
1413
- transform: string;
1414
- };
1415
1413
  '.webchat__link-definitions__header': {
1416
- fontFamily: string;
1417
- fontSize: string;
1414
+ alignItems: string;
1415
+ display: string;
1416
+ fontFamily: "var(--webchat__font--primary)";
1417
+ fontSize: "var(--webchat__font-size--small)";
1418
+ gap: number;
1418
1419
  listStyle: string;
1419
1420
  "@media (forced-colors: none)": {
1420
1421
  color: string;
@@ -1423,13 +1424,37 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
1423
1424
  color: string;
1424
1425
  };
1425
1426
  };
1427
+ '.webchat__link-definitions__header-text': {
1428
+ flexShrink: number;
1429
+ };
1426
1430
  '.webchat__link-definitions__header::-webkit-details-marker': {
1427
1431
  display: string;
1428
1432
  };
1433
+ '.webchat__link-definitions__header-chevron': {
1434
+ flexShrink: number;
1435
+ };
1429
1436
  '&:not([open]) .webchat__link-definitions__header-chevron': {
1430
- marginBottom: string;
1431
1437
  transform: string;
1432
1438
  };
1439
+ '.webchat__link-definitions__header-filler': {
1440
+ flexGrow: number;
1441
+ };
1442
+ '.webchat__link-definitions__header-accessory': {
1443
+ overflow: string;
1444
+ };
1445
+ '.webchat__link-definitions__message-sensitivity-label': {
1446
+ display: string;
1447
+ gap: number;
1448
+ };
1449
+ '.webchat__link-definitions__message-sensitivity-label-icon': {
1450
+ color: string;
1451
+ flexShrink: number;
1452
+ };
1453
+ '.webchat__link-definitions__message-sensitivity-label-text': {
1454
+ overflow: string;
1455
+ textOverflow: string;
1456
+ whiteSpace: string;
1457
+ };
1433
1458
  '.webchat__link-definitions__list': {
1434
1459
  display: string;
1435
1460
  flexDirection: string;
@@ -1443,6 +1468,7 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
1443
1468
  };
1444
1469
  '.webchat__link-definitions__badge': {
1445
1470
  alignItems: string;
1471
+ alignSelf: string;
1446
1472
  borderRadius: string;
1447
1473
  borderStyle: string;
1448
1474
  borderWidth: number;
@@ -1500,6 +1526,7 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
1500
1526
  fontSize: string;
1501
1527
  overflow: string;
1502
1528
  padding: number;
1529
+ textAlign: string;
1503
1530
  };
1504
1531
  '.webchat__link-definitions__list-item-body': {
1505
1532
  alignItems: string;
@@ -1507,19 +1534,41 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
1507
1534
  fontFamily: string;
1508
1535
  gap: number;
1509
1536
  padding: number;
1510
- "@media (forced-colors: none)": {
1511
- color: "var(--webchat__color--accent)";
1512
- };
1513
1537
  };
1514
- '.webchat__link-definitions__list-item-text': {
1538
+ '.webchat__link-definitions__list-item-body-main': {
1539
+ display: string;
1540
+ flexDirection: string;
1541
+ gap: number;
1542
+ overflow: string;
1543
+ };
1544
+ '.webchat__link-definitions__list-item-main-text': {
1545
+ alignItems: string;
1546
+ display: string;
1547
+ gap: number;
1548
+ };
1549
+ '.webchat__link-definitions__list-item-badge, .webchat__link-definitions__list-item-text': {
1515
1550
  overflow: string;
1516
- textDecoration: string;
1517
1551
  textOverflow: string;
1518
1552
  whiteSpace: string;
1519
1553
  };
1554
+ '.webchat__link-definitions__list-item-text': {
1555
+ textDecoration: string;
1556
+ "@media (forced-colors: none)": {
1557
+ color: "var(--webchat__color--accent)";
1558
+ };
1559
+ };
1560
+ '.webchat__link-definitions__list-item-badge': {
1561
+ fontSize: "var(--webchat__font-size--small)";
1562
+ "@media (forced-colors: none)": {
1563
+ color: "var(--webchat__color--subtle)";
1564
+ };
1565
+ };
1520
1566
  '.webchat__link-definitions__open-in-new-window-icon': {
1521
1567
  flexShrink: number;
1522
1568
  paddingRight: number;
1569
+ "@media (forced-colors: none)": {
1570
+ color: "var(--webchat__color--accent)";
1571
+ };
1523
1572
  };
1524
1573
  };
1525
1574
  };
@@ -1639,6 +1688,9 @@ export default function createFullStyleSet(options: FullBundleStyleOptions): {
1639
1688
  color: "var(--webchat__color--accent)";
1640
1689
  };
1641
1690
  };
1691
+ '& .webchat__render-markdown__pure-identifier': {
1692
+ whiteSpace: string;
1693
+ };
1642
1694
  '& .webchat__render-markdown__pure-identifier::after': {
1643
1695
  content: string;
1644
1696
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createFullStyleSet.d.ts","sourceRoot":"","sources":["../src/createFullStyleSet.ts"],"names":[],"mappings":"AAGA,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AAMpE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAO,EAAE,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKzE"}
1
+ {"version":3,"file":"createFullStyleSet.d.ts","sourceRoot":"","sources":["../src/createFullStyleSet.ts"],"names":[],"mappings":"AAGA,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AAMpE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAO,EAAE,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKzE"}
@@ -16,6 +16,8 @@ type Decoration = {
16
16
  target?: AttributeSetter;
17
17
  /** Value of "title" attribute of the link. If set to `false`, remove existing attribute. */
18
18
  title?: AttributeSetter;
19
+ /** Wraps the link with zero-width space. */
20
+ wrapZeroWidthSpace?: boolean;
19
21
  };
20
22
  declare const betterLink: (markdown: any, decorate: (href: string, textContent: string) => Decoration | undefined) => any;
21
23
  export default betterLink;
@@ -1 +1 @@
1
- {"version":3,"file":"betterLink.d.ts","sourceRoot":"","sources":["../../../src/markdown/markdownItPlugins/betterLink.ts"],"names":[],"mappings":"AAMA,KAAK,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;AAErE,KAAK,UAAU,GAAG;IAChB,iGAAiG;IACjG,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0FAA0F;IAC1F,GAAG,CAAC,EAAE,eAAe,CAAC;IAEtB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAyBF,QAAA,MAAM,UAAU,mCAEG,MAAM,eAAe,MAAM,KAAK,UAAU,GAAG,SAAS,QAmDrE,CAAC;AAEL,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"betterLink.d.ts","sourceRoot":"","sources":["../../../src/markdown/markdownItPlugins/betterLink.ts"],"names":[],"mappings":"AAMA,KAAK,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;AAErE,KAAK,UAAU,GAAG;IAChB,iGAAiG;IACjG,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0FAA0F;IAC1F,GAAG,CAAC,EAAE,eAAe,CAAC;IAEtB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AA8BF,QAAA,MAAM,UAAU,mCAEG,MAAM,eAAe,MAAM,KAAK,UAAU,GAAG,SAAS,QAgErE,CAAC;AAEL,eAAe,UAAU,CAAC"}
@@ -7,12 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _markdownItForInline = _interopRequireDefault(require("markdown-it-for-inline"));
11
10
  var _markdownIt = _interopRequireDefault(require("markdown-it"));
11
+ var _markdownItForInline = _interopRequireDefault(require("markdown-it-for-inline"));
12
12
  // Put a transparent pixel instead of the "open in new window" icon, so developers can easily modify the icon in CSS.
13
13
  var TRANSPARENT_GIF = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
14
14
  // This is used for parsing Markdown for external links.
15
15
  var internalMarkdownIt = new _markdownIt.default();
16
+ var ZERO_WIDTH_SPACE_TOKEN = {
17
+ content: "\u200B",
18
+ type: 'text'
19
+ };
16
20
  function setTokenAttribute(attrs, name, value) {
17
21
  var index = attrs.findIndex(function (entry) {
18
22
  return entry[0] === name;
@@ -39,59 +43,71 @@ var betterLink = function betterLink(markdown, decorate) {
39
43
  var type = _ref.type;
40
44
  return type === 'link_close';
41
45
  }));
42
- var token = tokens[+index];
43
- var _token$attrs$find = token.attrs.find(function (_ref2) {
44
- var _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
45
- name = _ref3[0];
46
- return name === 'href';
47
- }),
48
- _token$attrs$find2 = (0, _slicedToArray2.default)(_token$attrs$find, 2),
49
- href = _token$attrs$find2[1];
50
- var nodesInLink = tokens.slice(index + 1, indexOfLinkCloseToken);
51
- var textContent = nodesInLink.filter(function (_ref4) {
52
- var type = _ref4.type;
53
- return type === 'text';
54
- }).map(function (_ref5) {
55
- var content = _ref5.content;
56
- return content;
57
- }).join(' ');
58
- var decoration = decorate(href, textContent);
59
- if (!decoration) {
60
- return;
61
- }
62
- var ariaLabel = decoration.ariaLabel,
63
- asButton = decoration.asButton,
64
- className = decoration.className,
65
- iconAlt = decoration.iconAlt,
66
- iconClassName = decoration.iconClassName,
67
- rel = decoration.rel,
68
- target = decoration.target,
69
- title = decoration.title;
70
- setTokenAttribute(token.attrs, 'aria-label', ariaLabel);
71
- setTokenAttribute(token.attrs, 'class', className);
72
- setTokenAttribute(token.attrs, 'title', title);
73
- if (iconClassName) {
74
- var iconTokens = internalMarkdownIt.parseInline("![](".concat(TRANSPARENT_GIF, ")"))[0].children;
75
- setTokenAttribute(iconTokens[0].attrs, 'class', iconClassName);
76
- setTokenAttribute(iconTokens[0].attrs, 'title', iconAlt);
46
+ // eslint-disable-next-line no-magic-numbers
47
+ var updatedTokens = tokens.splice(index, ~indexOfLinkCloseToken ? indexOfLinkCloseToken - index + 1 : 2);
48
+ try {
49
+ var _updatedTokens = (0, _slicedToArray2.default)(updatedTokens, 1),
50
+ linkOpenToken = _updatedTokens[0];
51
+ var linkCloseToken = updatedTokens[updatedTokens.length - 1];
52
+ var _linkOpenToken$attrs$ = linkOpenToken.attrs.find(function (_ref2) {
53
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
54
+ name = _ref3[0];
55
+ return name === 'href';
56
+ }),
57
+ _linkOpenToken$attrs$2 = (0, _slicedToArray2.default)(_linkOpenToken$attrs$, 2),
58
+ _href = _linkOpenToken$attrs$2[1];
59
+ var nodesInLink = updatedTokens.slice(1, updatedTokens.length - 1);
60
+ var _textContent = nodesInLink.filter(function (_ref4) {
61
+ var type = _ref4.type;
62
+ return type === 'text';
63
+ }).map(function (_ref5) {
64
+ var content = _ref5.content;
65
+ return content;
66
+ }).join(' ');
67
+ var decoration = decorate(_href, _textContent);
68
+ if (!decoration) {
69
+ return;
70
+ }
71
+ var ariaLabel = decoration.ariaLabel,
72
+ asButton = decoration.asButton,
73
+ className = decoration.className,
74
+ iconAlt = decoration.iconAlt,
75
+ iconClassName = decoration.iconClassName,
76
+ rel = decoration.rel,
77
+ target = decoration.target,
78
+ title = decoration.title,
79
+ wrapZeroWidthSpace = decoration.wrapZeroWidthSpace;
80
+ setTokenAttribute(linkOpenToken.attrs, 'aria-label', ariaLabel);
81
+ setTokenAttribute(linkOpenToken.attrs, 'class', className);
82
+ setTokenAttribute(linkOpenToken.attrs, 'title', title);
83
+ if (iconClassName) {
84
+ var iconTokens = internalMarkdownIt.parseInline("![](".concat(TRANSPARENT_GIF, ")"))[0].children;
85
+ setTokenAttribute(iconTokens[0].attrs, 'class', iconClassName);
86
+ setTokenAttribute(iconTokens[0].attrs, 'title', iconAlt);
77
87
 
78
- // Add an icon before </a>.
79
- ~indexOfLinkCloseToken && tokens.splice.apply(tokens, [indexOfLinkCloseToken, 0].concat((0, _toConsumableArray2.default)(iconTokens)));
80
- }
81
- if (asButton) {
82
- setTokenAttribute(token.attrs, 'href', false);
83
- token.tag = 'button';
84
- setTokenAttribute(token.attrs, 'type', 'button');
85
- setTokenAttribute(token.attrs, 'value', href);
86
- if (~indexOfLinkCloseToken) {
87
- tokens[+indexOfLinkCloseToken].tag = 'button';
88
+ // Add an icon before </a>.
89
+ // eslint-disable-next-line no-magic-numbers
90
+ updatedTokens.splice.apply(updatedTokens, [-1, 0].concat((0, _toConsumableArray2.default)(iconTokens)));
88
91
  }
89
- } else {
90
- setTokenAttribute(token.attrs, 'rel', rel);
91
- setTokenAttribute(token.attrs, 'target', target);
92
+ if (asButton) {
93
+ setTokenAttribute(linkOpenToken.attrs, 'href', false);
94
+ linkOpenToken.tag = 'button';
95
+ setTokenAttribute(linkOpenToken.attrs, 'type', 'button');
96
+ setTokenAttribute(linkOpenToken.attrs, 'value', _href);
97
+ linkCloseToken.tag = 'button';
98
+ } else {
99
+ setTokenAttribute(linkOpenToken.attrs, 'rel', rel);
100
+ setTokenAttribute(linkOpenToken.attrs, 'target', target);
101
+ }
102
+ if (wrapZeroWidthSpace) {
103
+ updatedTokens.splice(0, 0, ZERO_WIDTH_SPACE_TOKEN);
104
+ updatedTokens.splice(Infinity, 0, ZERO_WIDTH_SPACE_TOKEN);
105
+ }
106
+ } finally {
107
+ tokens.splice.apply(tokens, [index, 0].concat((0, _toConsumableArray2.default)(updatedTokens)));
92
108
  }
93
109
  });
94
110
  };
95
111
  var _default = betterLink;
96
112
  exports.default = _default;
97
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWFya2Rvd25JdEZvcklubGluZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21hcmtkb3duSXQiLCJUUkFOU1BBUkVOVF9HSUYiLCJpbnRlcm5hbE1hcmtkb3duSXQiLCJNYXJrZG93bkl0Iiwic2V0VG9rZW5BdHRyaWJ1dGUiLCJhdHRycyIsIm5hbWUiLCJ2YWx1ZSIsImluZGV4IiwiZmluZEluZGV4IiwiZW50cnkiLCJzcGxpY2UiLCJwdXNoIiwiYmV0dGVyTGluayIsIm1hcmtkb3duIiwiZGVjb3JhdGUiLCJ1c2UiLCJpdGVyYXRvciIsInRva2VucyIsImluZGV4T2ZMaW5rQ2xvc2VUb2tlbiIsImluZGV4T2YiLCJzbGljZSIsImZpbmQiLCJfcmVmIiwidHlwZSIsInRva2VuIiwiX3Rva2VuJGF0dHJzJGZpbmQiLCJfcmVmMiIsIl9yZWYzIiwiX3NsaWNlZFRvQXJyYXkyIiwiZGVmYXVsdCIsIl90b2tlbiRhdHRycyRmaW5kMiIsImhyZWYiLCJub2Rlc0luTGluayIsInRleHRDb250ZW50IiwiZmlsdGVyIiwiX3JlZjQiLCJtYXAiLCJfcmVmNSIsImNvbnRlbnQiLCJqb2luIiwiZGVjb3JhdGlvbiIsImFyaWFMYWJlbCIsImFzQnV0dG9uIiwiY2xhc3NOYW1lIiwiaWNvbkFsdCIsImljb25DbGFzc05hbWUiLCJyZWwiLCJ0YXJnZXQiLCJ0aXRsZSIsImljb25Ub2tlbnMiLCJwYXJzZUlubGluZSIsImNvbmNhdCIsImNoaWxkcmVuIiwiYXBwbHkiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwidGFnIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFya2Rvd24vbWFya2Rvd25JdFBsdWdpbnMvYmV0dGVyTGluay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXRlcmF0b3IgZnJvbSAnbWFya2Rvd24taXQtZm9yLWlubGluZSc7XG5pbXBvcnQgTWFya2Rvd25JdCBmcm9tICdtYXJrZG93bi1pdCc7XG5cbi8vIFB1dCBhIHRyYW5zcGFyZW50IHBpeGVsIGluc3RlYWQgb2YgdGhlIFwib3BlbiBpbiBuZXcgd2luZG93XCIgaWNvbiwgc28gZGV2ZWxvcGVycyBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgaWNvbiBpbiBDU1MuXG5jb25zdCBUUkFOU1BBUkVOVF9HSUYgPSAnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3JztcblxudHlwZSBBdHRyaWJ1dGVTZXR0ZXIgPSBmYWxzZSB8IHN0cmluZyB8ICgodmFsdWU/OiBzdHJpbmcpID0+IHN0cmluZyk7XG5cbnR5cGUgRGVjb3JhdGlvbiA9IHtcbiAgLyoqIFZhbHVlIG9mIFwiYXJpYS1sYWJlbFwiIGF0dHJpYnV0ZSBvZiB0aGUgbGluay4gSWYgc2V0IHRvIGBmYWxzZWAsIHJlbW92ZSBleGlzdGluZyBhdHRyaWJ1dGUuICovXG4gIGFyaWFMYWJlbD86IEF0dHJpYnV0ZVNldHRlcjtcblxuICAvKiogVHVybnMgdGhpcyBsaW5rIGludG8gYSA8YnV0dG9uPiB3aXRoIFwidmFsdWVcIiBhdHRyaWJ1dGUgaW5zdGVhZCBvZiBcImhyZWZcIi4gKi9cbiAgYXNCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKiBWYWx1ZSBvZiBcImNsYXNzXCIgYXR0cmlidXRlIG9mIHRoZSBsaW5rLiBJZiBzZXQgdG8gYGZhbHNlYCwgcmVtb3ZlIGV4aXN0aW5nIGF0dHJpYnV0ZS4gKi9cbiAgY2xhc3NOYW1lPzogQXR0cmlidXRlU2V0dGVyO1xuXG4gIC8qKiBBbHRlcm5hdGUgdGV4dCBvZiB0aGUgaW1hZ2UgaWNvbiBhcHBlbmRlZCB0byB0aGUgbGluay4gKi9cbiAgaWNvbkFsdD86IHN0cmluZztcblxuICAvKiogQ2xhc3MgbmFtZSBvZiB0aGUgaW1hZ2UgaWNvbiBhcHBlbmRlZCB0byB0aGUgbGluay4gKi9cbiAgaWNvbkNsYXNzTmFtZT86IHN0cmluZztcblxuICAvKiogVmFsdWUgb2YgXCJyZWxcIiBhdHRyaWJ1dGUgb2YgdGhlIGxpbmsuIElmIHNldCB0byBgZmFsc2VgLCByZW1vdmUgZXhpc3RpbmcgYXR0cmlidXRlLiAqL1xuICByZWw/OiBBdHRyaWJ1dGVTZXR0ZXI7XG5cbiAgLyoqIFZhbHVlIG9mIFwidGFyZ2V0XCIgYXR0cmlidXRlIG9mIHRoZSBsaW5rLiBJZiBzZXQgdG8gYGZhbHNlYCwgcmVtb3ZlIGV4aXN0aW5nIGF0dHJpYnV0ZS4gKi9cbiAgdGFyZ2V0PzogQXR0cmlidXRlU2V0dGVyO1xuXG4gIC8qKiBWYWx1ZSBvZiBcInRpdGxlXCIgYXR0cmlidXRlIG9mIHRoZSBsaW5rLiBJZiBzZXQgdG8gYGZhbHNlYCwgcmVtb3ZlIGV4aXN0aW5nIGF0dHJpYnV0ZS4gKi9cbiAgdGl0bGU/OiBBdHRyaWJ1dGVTZXR0ZXI7XG59O1xuXG4vLyBUaGlzIGlzIHVzZWQgZm9yIHBhcnNpbmcgTWFya2Rvd24gZm9yIGV4dGVybmFsIGxpbmtzLlxuY29uc3QgaW50ZXJuYWxNYXJrZG93bkl0ID0gbmV3IE1hcmtkb3duSXQoKTtcblxuZnVuY3Rpb24gc2V0VG9rZW5BdHRyaWJ1dGUoYXR0cnM6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+LCBuYW1lOiBzdHJpbmcsIHZhbHVlPzogQXR0cmlidXRlU2V0dGVyKSB7XG4gIGNvbnN0IGluZGV4ID0gYXR0cnMuZmluZEluZGV4KGVudHJ5ID0+IGVudHJ5WzBdID09PSBuYW1lKTtcblxuICBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgfmluZGV4ICYmIGF0dHJzLnNwbGljZShpbmRleCwgMSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGlmICh+aW5kZXgpIHtcbiAgICAgIGF0dHJzWytpbmRleF1bMV0gPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0cnMucHVzaChbbmFtZSwgdmFsdWVdKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKH5pbmRleCkge1xuICAgICAgYXR0cnNbK2luZGV4XVsxXSA9IHZhbHVlKGF0dHJzWytpbmRleF1bMV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhdHRycy5wdXNoKFtuYW1lLCB2YWx1ZSgpXSk7XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IGJldHRlckxpbmsgPSAoXG4gIG1hcmtkb3duOiB0eXBlb2YgTWFya2Rvd25JdCxcbiAgZGVjb3JhdGU6IChocmVmOiBzdHJpbmcsIHRleHRDb250ZW50OiBzdHJpbmcpID0+IERlY29yYXRpb24gfCB1bmRlZmluZWRcbik6IHR5cGVvZiBNYXJrZG93bkl0ID0+XG4gIG1hcmtkb3duLnVzZShpdGVyYXRvciwgJ3VybF9uZXdfd2luJywgJ2xpbmtfb3BlbicsICh0b2tlbnMsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgaW5kZXhPZkxpbmtDbG9zZVRva2VuID0gdG9rZW5zLmluZGV4T2YodG9rZW5zLnNsaWNlKGluZGV4ICsgMSkuZmluZCgoeyB0eXBlIH0pID0+IHR5cGUgPT09ICdsaW5rX2Nsb3NlJykpO1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zWytpbmRleF07XG5cbiAgICBjb25zdCBbLCBocmVmXSA9IHRva2VuLmF0dHJzLmZpbmQoKFtuYW1lXSkgPT4gbmFtZSA9PT0gJ2hyZWYnKTtcbiAgICBjb25zdCBub2Rlc0luTGluayA9IHRva2Vucy5zbGljZShpbmRleCArIDEsIGluZGV4T2ZMaW5rQ2xvc2VUb2tlbik7XG5cbiAgICBjb25zdCB0ZXh0Q29udGVudCA9IG5vZGVzSW5MaW5rXG4gICAgICAuZmlsdGVyKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gJ3RleHQnKVxuICAgICAgLm1hcCgoeyBjb250ZW50IH0pID0+IGNvbnRlbnQpXG4gICAgICAuam9pbignICcpO1xuXG4gICAgY29uc3QgZGVjb3JhdGlvbiA9IGRlY29yYXRlKGhyZWYsIHRleHRDb250ZW50KTtcblxuICAgIGlmICghZGVjb3JhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgYXJpYUxhYmVsLCBhc0J1dHRvbiwgY2xhc3NOYW1lLCBpY29uQWx0LCBpY29uQ2xhc3NOYW1lLCByZWwsIHRhcmdldCwgdGl0bGUgfSA9IGRlY29yYXRpb247XG5cbiAgICBzZXRUb2tlbkF0dHJpYnV0ZSh0b2tlbi5hdHRycywgJ2FyaWEtbGFiZWwnLCBhcmlhTGFiZWwpO1xuICAgIHNldFRva2VuQXR0cmlidXRlKHRva2VuLmF0dHJzLCAnY2xhc3MnLCBjbGFzc05hbWUpO1xuICAgIHNldFRva2VuQXR0cmlidXRlKHRva2VuLmF0dHJzLCAndGl0bGUnLCB0aXRsZSk7XG5cbiAgICBpZiAoaWNvbkNsYXNzTmFtZSkge1xuICAgICAgY29uc3QgaWNvblRva2VucyA9IGludGVybmFsTWFya2Rvd25JdC5wYXJzZUlubGluZShgIVtdKCR7VFJBTlNQQVJFTlRfR0lGfSlgKVswXS5jaGlsZHJlbjtcblxuICAgICAgc2V0VG9rZW5BdHRyaWJ1dGUoaWNvblRva2Vuc1swXS5hdHRycywgJ2NsYXNzJywgaWNvbkNsYXNzTmFtZSk7XG4gICAgICBzZXRUb2tlbkF0dHJpYnV0ZShpY29uVG9rZW5zWzBdLmF0dHJzLCAndGl0bGUnLCBpY29uQWx0KTtcblxuICAgICAgLy8gQWRkIGFuIGljb24gYmVmb3JlIDwvYT4uXG4gICAgICB+aW5kZXhPZkxpbmtDbG9zZVRva2VuICYmIHRva2Vucy5zcGxpY2UoaW5kZXhPZkxpbmtDbG9zZVRva2VuLCAwLCAuLi5pY29uVG9rZW5zKTtcbiAgICB9XG5cbiAgICBpZiAoYXNCdXR0b24pIHtcbiAgICAgIHNldFRva2VuQXR0cmlidXRlKHRva2VuLmF0dHJzLCAnaHJlZicsIGZhbHNlKTtcblxuICAgICAgdG9rZW4udGFnID0gJ2J1dHRvbic7XG5cbiAgICAgIHNldFRva2VuQXR0cmlidXRlKHRva2VuLmF0dHJzLCAndHlwZScsICdidXR0b24nKTtcbiAgICAgIHNldFRva2VuQXR0cmlidXRlKHRva2VuLmF0dHJzLCAndmFsdWUnLCBocmVmKTtcblxuICAgICAgaWYgKH5pbmRleE9mTGlua0Nsb3NlVG9rZW4pIHtcbiAgICAgICAgdG9rZW5zWytpbmRleE9mTGlua0Nsb3NlVG9rZW5dLnRhZyA9ICdidXR0b24nO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUb2tlbkF0dHJpYnV0ZSh0b2tlbi5hdHRycywgJ3JlbCcsIHJlbCk7XG4gICAgICBzZXRUb2tlbkF0dHJpYnV0ZSh0b2tlbi5hdHRycywgJ3RhcmdldCcsIHRhcmdldCk7XG4gICAgfVxuICB9KTtcblxuZXhwb3J0IGRlZmF1bHQgYmV0dGVyTGluaztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsb0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBO0FBQ0EsSUFBTUUsZUFBZSxHQUFHLGdGQUFnRjtBQThCeEc7QUFDQSxJQUFNQyxrQkFBa0IsR0FBRyxJQUFJQyxtQkFBVSxDQUFDLENBQUM7QUFFM0MsU0FBU0MsaUJBQWlCQSxDQUFDQyxLQUE4QixFQUFFQyxJQUFZLEVBQUVDLEtBQXVCLEVBQUU7RUFDaEcsSUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNJLFNBQVMsQ0FBQyxVQUFBQyxLQUFLO0lBQUEsT0FBSUEsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLSixJQUFJO0VBQUEsRUFBQztFQUV6RCxJQUFJQyxLQUFLLEtBQUssS0FBSyxFQUFFO0lBQ25CLENBQUNDLEtBQUssSUFBSUgsS0FBSyxDQUFDTSxNQUFNLENBQUNILEtBQUssRUFBRSxDQUFDLENBQUM7RUFDbEMsQ0FBQyxNQUFNLElBQUksT0FBT0QsS0FBSyxLQUFLLFFBQVEsRUFBRTtJQUNwQyxJQUFJLENBQUNDLEtBQUssRUFBRTtNQUNWSCxLQUFLLENBQUMsQ0FBQ0csS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdELEtBQUs7SUFD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
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWFya2Rvd25JdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21hcmtkb3duSXRGb3JJbmxpbmUiLCJUUkFOU1BBUkVOVF9HSUYiLCJpbnRlcm5hbE1hcmtkb3duSXQiLCJNYXJrZG93bkl0IiwiWkVST19XSURUSF9TUEFDRV9UT0tFTiIsImNvbnRlbnQiLCJ0eXBlIiwic2V0VG9rZW5BdHRyaWJ1dGUiLCJhdHRycyIsIm5hbWUiLCJ2YWx1ZSIsImluZGV4IiwiZmluZEluZGV4IiwiZW50cnkiLCJzcGxpY2UiLCJwdXNoIiwiYmV0dGVyTGluayIsIm1hcmtkb3duIiwiZGVjb3JhdGUiLCJ1c2UiLCJpdGVyYXRvciIsInRva2VucyIsImluZGV4T2ZMaW5rQ2xvc2VUb2tlbiIsImluZGV4T2YiLCJzbGljZSIsImZpbmQiLCJfcmVmIiwidXBkYXRlZFRva2VucyIsIl91cGRhdGVkVG9rZW5zIiwiX3NsaWNlZFRvQXJyYXkyIiwiZGVmYXVsdCIsImxpbmtPcGVuVG9rZW4iLCJsaW5rQ2xvc2VUb2tlbiIsImxlbmd0aCIsIl9saW5rT3BlblRva2VuJGF0dHJzJCIsIl9yZWYyIiwiX3JlZjMiLCJfbGlua09wZW5Ub2tlbiRhdHRycyQyIiwiaHJlZiIsIm5vZGVzSW5MaW5rIiwidGV4dENvbnRlbnQiLCJmaWx0ZXIiLCJfcmVmNCIsIm1hcCIsIl9yZWY1Iiwiam9pbiIsImRlY29yYXRpb24iLCJhcmlhTGFiZWwiLCJhc0J1dHRvbiIsImNsYXNzTmFtZSIsImljb25BbHQiLCJpY29uQ2xhc3NOYW1lIiwicmVsIiwidGFyZ2V0IiwidGl0bGUiLCJ3cmFwWmVyb1dpZHRoU3BhY2UiLCJpY29uVG9rZW5zIiwicGFyc2VJbmxpbmUiLCJjb25jYXQiLCJjaGlsZHJlbiIsImFwcGx5IiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInRhZyIsIkluZmluaXR5IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFya2Rvd24vbWFya2Rvd25JdFBsdWdpbnMvYmV0dGVyTGluay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWFya2Rvd25JdCBmcm9tICdtYXJrZG93bi1pdCc7XG5pbXBvcnQgaXRlcmF0b3IgZnJvbSAnbWFya2Rvd24taXQtZm9yLWlubGluZSc7XG5cbi8vIFB1dCBhIHRyYW5zcGFyZW50IHBpeGVsIGluc3RlYWQgb2YgdGhlIFwib3BlbiBpbiBuZXcgd2luZG93XCIgaWNvbiwgc28gZGV2ZWxvcGVycyBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgaWNvbiBpbiBDU1MuXG5jb25zdCBUUkFOU1BBUkVOVF9HSUYgPSAnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3JztcblxudHlwZSBBdHRyaWJ1dGVTZXR0ZXIgPSBmYWxzZSB8IHN0cmluZyB8ICgodmFsdWU/OiBzdHJpbmcpID0+IHN0cmluZyk7XG5cbnR5cGUgRGVjb3JhdGlvbiA9IHtcbiAgLyoqIFZhbHVlIG9mIFwiYXJpYS1sYWJlbFwiIGF0dHJpYnV0ZSBvZiB0aGUgbGluay4gSWYgc2V0IHRvIGBmYWxzZWAsIHJlbW92ZSBleGlzdGluZyBhdHRyaWJ1dGUuICovXG4gIGFyaWFMYWJlbD86IEF0dHJpYnV0ZVNldHRlcjtcblxuICAvKiogVHVybnMgdGhpcyBsaW5rIGludG8gYSA8YnV0dG9uPiB3aXRoIFwidmFsdWVcIiBhdHRyaWJ1dGUgaW5zdGVhZCBvZiBcImhyZWZcIi4gKi9cbiAgYXNCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKiBWYWx1ZSBvZiBcImNsYXNzXCIgYXR0cmlidXRlIG9mIHRoZSBsaW5rLiBJZiBzZXQgdG8gYGZhbHNlYCwgcmVtb3ZlIGV4aXN0aW5nIGF0dHJpYnV0ZS4gKi9cbiAgY2xhc3NOYW1lPzogQXR0cmlidXRlU2V0dGVyO1xuXG4gIC8qKiBBbHRlcm5hdGUgdGV4dCBvZiB0aGUgaW1hZ2UgaWNvbiBhcHBlbmRlZCB0byB0aGUgbGluay4gKi9cbiAgaWNvbkFsdD86IHN0cmluZztcblxuICAvKiogQ2xhc3MgbmFtZSBvZiB0aGUgaW1hZ2UgaWNvbiBhcHBlbmRlZCB0byB0aGUgbGluay4gKi9cbiAgaWNvbkNsYXNzTmFtZT86IHN0cmluZztcblxuICAvKiogVmFsdWUgb2YgXCJyZWxcIiBhdHRyaWJ1dGUgb2YgdGhlIGxpbmsuIElmIHNldCB0byBgZmFsc2VgLCByZW1vdmUgZXhpc3RpbmcgYXR0cmlidXRlLiAqL1xuICByZWw/OiBBdHRyaWJ1dGVTZXR0ZXI7XG5cbiAgLyoqIFZhbHVlIG9mIFwidGFyZ2V0XCIgYXR0cmlidXRlIG9mIHRoZSBsaW5rLiBJZiBzZXQgdG8gYGZhbHNlYCwgcmVtb3ZlIGV4aXN0aW5nIGF0dHJpYnV0ZS4gKi9cbiAgdGFyZ2V0PzogQXR0cmlidXRlU2V0dGVyO1xuXG4gIC8qKiBWYWx1ZSBvZiBcInRpdGxlXCIgYXR0cmlidXRlIG9mIHRoZSBsaW5rLiBJZiBzZXQgdG8gYGZhbHNlYCwgcmVtb3ZlIGV4aXN0aW5nIGF0dHJpYnV0ZS4gKi9cbiAgdGl0bGU/OiBBdHRyaWJ1dGVTZXR0ZXI7XG5cbiAgLyoqIFdyYXBzIHRoZSBsaW5rIHdpdGggemVyby13aWR0aCBzcGFjZS4gKi9cbiAgd3JhcFplcm9XaWR0aFNwYWNlPzogYm9vbGVhbjtcbn07XG5cbi8vIFRoaXMgaXMgdXNlZCBmb3IgcGFyc2luZyBNYXJrZG93biBmb3IgZXh0ZXJuYWwgbGlua3MuXG5jb25zdCBpbnRlcm5hbE1hcmtkb3duSXQgPSBuZXcgTWFya2Rvd25JdCgpO1xuXG5jb25zdCBaRVJPX1dJRFRIX1NQQUNFX1RPS0VOID0ge1xuICBjb250ZW50OiAnXFx1MjAwYicsXG4gIHR5cGU6ICd0ZXh0J1xufTtcblxuZnVuY3Rpb24gc2V0VG9rZW5BdHRyaWJ1dGUoYXR0cnM6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+LCBuYW1lOiBzdHJpbmcsIHZhbHVlPzogQXR0cmlidXRlU2V0dGVyKSB7XG4gIGNvbnN0IGluZGV4ID0gYXR0cnMuZmluZEluZGV4KGVudHJ5ID0+IGVudHJ5WzBdID09PSBuYW1lKTtcblxuICBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgfmluZGV4ICYmIGF0dHJzLnNwbGljZShpbmRleCwgMSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGlmICh+aW5kZXgpIHtcbiAgICAgIGF0dHJzWytpbmRleF1bMV0gPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0cnMucHVzaChbbmFtZSwgdmFsdWVdKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKH5pbmRleCkge1xuICAgICAgYXR0cnNbK2luZGV4XVsxXSA9IHZhbHVlKGF0dHJzWytpbmRleF1bMV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhdHRycy5wdXNoKFtuYW1lLCB2YWx1ZSgpXSk7XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IGJldHRlckxpbmsgPSAoXG4gIG1hcmtkb3duOiB0eXBlb2YgTWFya2Rvd25JdCxcbiAgZGVjb3JhdGU6IChocmVmOiBzdHJpbmcsIHRleHRDb250ZW50OiBzdHJpbmcpID0+IERlY29yYXRpb24gfCB1bmRlZmluZWRcbik6IHR5cGVvZiBNYXJrZG93bkl0ID0+XG4gIG1hcmtkb3duLnVzZShpdGVyYXRvciwgJ3VybF9uZXdfd2luJywgJ2xpbmtfb3BlbicsICh0b2tlbnMsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgaW5kZXhPZkxpbmtDbG9zZVRva2VuID0gdG9rZW5zLmluZGV4T2YodG9rZW5zLnNsaWNlKGluZGV4ICsgMSkuZmluZCgoeyB0eXBlIH0pID0+IHR5cGUgPT09ICdsaW5rX2Nsb3NlJykpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzXG4gICAgY29uc3QgdXBkYXRlZFRva2VucyA9IHRva2Vucy5zcGxpY2UoaW5kZXgsIH5pbmRleE9mTGlua0Nsb3NlVG9rZW4gPyBpbmRleE9mTGlua0Nsb3NlVG9rZW4gLSBpbmRleCArIDEgOiAyKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBbbGlua09wZW5Ub2tlbl0gPSB1cGRhdGVkVG9rZW5zO1xuICAgICAgY29uc3QgbGlua0Nsb3NlVG9rZW4gPSB1cGRhdGVkVG9rZW5zW3VwZGF0ZWRUb2tlbnMubGVuZ3RoIC0gMV07XG5cbiAgICAgIGNvbnN0IFssIGhyZWZdID0gbGlua09wZW5Ub2tlbi5hdHRycy5maW5kKChbbmFtZV0pID0+IG5hbWUgPT09ICdocmVmJyk7XG4gICAgICBjb25zdCBub2Rlc0luTGluayA9IHVwZGF0ZWRUb2tlbnMuc2xpY2UoMSwgdXBkYXRlZFRva2Vucy5sZW5ndGggLSAxKTtcblxuICAgICAgY29uc3QgdGV4dENvbnRlbnQgPSBub2Rlc0luTGlua1xuICAgICAgICAuZmlsdGVyKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gJ3RleHQnKVxuICAgICAgICAubWFwKCh7IGNvbnRlbnQgfSkgPT4gY29udGVudClcbiAgICAgICAgLmpvaW4oJyAnKTtcblxuICAgICAgY29uc3QgZGVjb3JhdGlvbiA9IGRlY29yYXRlKGhyZWYsIHRleHRDb250ZW50KTtcblxuICAgICAgaWYgKCFkZWNvcmF0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBhcmlhTGFiZWwsIGFzQnV0dG9uLCBjbGFzc05hbWUsIGljb25BbHQsIGljb25DbGFzc05hbWUsIHJlbCwgdGFyZ2V0LCB0aXRsZSwgd3JhcFplcm9XaWR0aFNwYWNlIH0gPVxuICAgICAgICBkZWNvcmF0aW9uO1xuXG4gICAgICBzZXRUb2tlbkF0dHJpYnV0ZShsaW5rT3BlblRva2VuLmF0dHJzLCAnYXJpYS1sYWJlbCcsIGFyaWFMYWJlbCk7XG4gICAgICBzZXRUb2tlbkF0dHJpYnV0ZShsaW5rT3BlblRva2VuLmF0dHJzLCAnY2xhc3MnLCBjbGFzc05hbWUpO1xuICAgICAgc2V0VG9rZW5BdHRyaWJ1dGUobGlua09wZW5Ub2tlbi5hdHRycywgJ3RpdGxlJywgdGl0bGUpO1xuXG4gICAgICBpZiAoaWNvbkNsYXNzTmFtZSkge1xuICAgICAgICBjb25zdCBpY29uVG9rZW5zID0gaW50ZXJuYWxNYXJrZG93bkl0LnBhcnNlSW5saW5lKGAhW10oJHtUUkFOU1BBUkVOVF9HSUZ9KWApWzBdLmNoaWxkcmVuO1xuXG4gICAgICAgIHNldFRva2VuQXR0cmlidXRlKGljb25Ub2tlbnNbMF0uYXR0cnMsICdjbGFzcycsIGljb25DbGFzc05hbWUpO1xuICAgICAgICBzZXRUb2tlbkF0dHJpYnV0ZShpY29uVG9rZW5zWzBdLmF0dHJzLCAndGl0bGUnLCBpY29uQWx0KTtcblxuICAgICAgICAvLyBBZGQgYW4gaWNvbiBiZWZvcmUgPC9hPi5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnNcbiAgICAgICAgdXBkYXRlZFRva2Vucy5zcGxpY2UoLTEsIDAsIC4uLmljb25Ub2tlbnMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoYXNCdXR0b24pIHtcbiAgICAgICAgc2V0VG9rZW5BdHRyaWJ1dGUobGlua09wZW5Ub2tlbi5hdHRycywgJ2hyZWYnLCBmYWxzZSk7XG5cbiAgICAgICAgbGlua09wZW5Ub2tlbi50YWcgPSAnYnV0dG9uJztcblxuICAgICAgICBzZXRUb2tlbkF0dHJpYnV0ZShsaW5rT3BlblRva2VuLmF0dHJzLCAndHlwZScsICdidXR0b24nKTtcbiAgICAgICAgc2V0VG9rZW5BdHRyaWJ1dGUobGlua09wZW5Ub2tlbi5hdHRycywgJ3ZhbHVlJywgaHJlZik7XG5cbiAgICAgICAgbGlua0Nsb3NlVG9rZW4udGFnID0gJ2J1dHRvbic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUb2tlbkF0dHJpYnV0ZShsaW5rT3BlblRva2VuLmF0dHJzLCAncmVsJywgcmVsKTtcbiAgICAgICAgc2V0VG9rZW5BdHRyaWJ1dGUobGlua09wZW5Ub2tlbi5hdHRycywgJ3RhcmdldCcsIHRhcmdldCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh3cmFwWmVyb1dpZHRoU3BhY2UpIHtcbiAgICAgICAgdXBkYXRlZFRva2Vucy5zcGxpY2UoMCwgMCwgWkVST19XSURUSF9TUEFDRV9UT0tFTik7XG4gICAgICAgIHVwZGF0ZWRUb2tlbnMuc3BsaWNlKEluZmluaXR5LCAwLCBaRVJPX1dJRFRIX1NQQUNFX1RPS0VOKTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgdG9rZW5zLnNwbGljZShpbmRleCwgMCwgLi4udXBkYXRlZFRva2Vucyk7XG4gICAgfVxuICB9KTtcblxuZXhwb3J0IGRlZmF1bHQgYmV0dGVyTGluaztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsb0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBO0FBQ0EsSUFBTUUsZUFBZSxHQUFHLGdGQUFnRjtBQWlDeEc7QUFDQSxJQUFNQyxrQkFBa0IsR0FBRyxJQUFJQyxtQkFBVSxDQUFDLENBQUM7QUFFM0MsSUFBTUMsc0JBQXNCLEdBQUc7RUFDN0JDLE9BQU8sRUFBRSxRQUFRO0VBQ2pCQyxJQUFJLEVBQUU7QUFDUixDQUFDO0FBRUQsU0FBU0MsaUJBQWlCQSxDQUFDQyxLQUE4QixFQUFFQyxJQUFZLEVBQUVDLEtBQXVCLEVBQUU7RUFDaEcsSUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNJLFNBQVMsQ0FBQyxVQUFBQyxLQUFLO0lBQUEsT0FBSUEsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLSixJQUFJO0VBQUEsRUFBQztFQUV6RCxJQUFJQyxLQUFLLEtBQUssS0FBSyxFQUFFO0lBQ25CLENBQUNDLEtBQUssSUFBSUgsS0FBSyxDQUFDTSxNQUFNLENBQUNILEtBQUssRUFBRSxDQUFDLENBQUM7RUFDbEMsQ0FBQyxNQUFNLElBQUksT0FBT0QsS0FBSyxLQUFLLFFB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
@@ -1 +1 @@
1
- {"version":3,"file":"renderMarkdown.d.ts","sourceRoot":"","sources":["../../src/markdown/renderMarkdown.ts"],"names":[],"mappings":"AAsEA,KAAK,UAAU,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,QAAQ,EAAE,MAAM,EAChB,EAAE,mBAAmB,EAAE,EAAE,QAAQ,CAAC;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE,CAAC,EACnE,EAAE,eAAoB,EAAE,GAAE,QAAQ,CAAC,UAAU,CAAqB,GACjE,MAAM,CAwER"}
1
+ {"version":3,"file":"renderMarkdown.d.ts","sourceRoot":"","sources":["../../src/markdown/renderMarkdown.ts"],"names":[],"mappings":"AAsEA,KAAK,UAAU,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,QAAQ,EAAE,MAAM,EAChB,EAAE,mBAAmB,EAAE,EAAE,QAAQ,CAAC;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE,CAAC,EACnE,EAAE,eAAoB,EAAE,GAAE,QAAQ,CAAC,UAAU,CAAqB,GACjE,MAAM,CA2ER"}
@@ -9,9 +9,9 @@ exports.default = render;
9
9
  var _botframeworkWebchatCore = require("botframework-webchat-core");
10
10
  var _markdownIt = _interopRequireDefault(require("markdown-it"));
11
11
  var _sanitizeHtml = _interopRequireDefault(require("sanitize-html"));
12
- var _respectCRLF = require("./markdownItPlugins/respectCRLF");
13
12
  var _ariaLabel = _interopRequireWildcard(require("./markdownItPlugins/ariaLabel"));
14
13
  var _betterLink = _interopRequireDefault(require("./markdownItPlugins/betterLink"));
14
+ var _respectCRLF = require("./markdownItPlugins/respectCRLF");
15
15
  var _iterateLinkDefinitions = _interopRequireDefault(require("./private/iterateLinkDefinitions"));
16
16
  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); }
17
17
  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; }
@@ -48,7 +48,8 @@ function render(markdown, _ref) {
48
48
  var markdownIt = new _markdownIt.default(MARKDOWN_IT_INIT).use(_ariaLabel.default).use(_betterLink.default, function (href, textContent) {
49
49
  var decoration = {
50
50
  rel: 'noopener noreferrer',
51
- target: '_blank'
51
+ target: '_blank',
52
+ wrapZeroWidthSpace: true
52
53
  };
53
54
  var ariaLabelSegments = [textContent];
54
55
  var classes = new Set();
@@ -63,9 +64,15 @@ function render(markdown, _ref) {
63
64
  ariaLabelSegments.push(linkDefinition.title || (0, _botframeworkWebchatCore.onErrorResumeNext)(function () {
64
65
  return new URL(linkDefinition.url).host;
65
66
  }) || linkDefinition.url);
66
- linkDefinition.identifier === textContent && classes.add('webchat__render-markdown__pure-identifier');
67
+
68
+ // linkDefinition.identifier is uppercase, while linkDefinition.label is as-is.
69
+ linkDefinition.label === textContent && classes.add('webchat__render-markdown__pure-identifier');
67
70
  }
68
- if (protocol === 'cite:') {
71
+
72
+ // For links that would be sanitized out, let's turn them into a button so we could handle them later.
73
+ if (!SANITIZE_HTML_OPTIONS.allowedSchemes.map(function (scheme) {
74
+ return "".concat(scheme, ":");
75
+ }).includes(protocol)) {
69
76
  decoration.asButton = true;
70
77
  classes.add('webchat__render-markdown__citation');
71
78
  } else if (protocol === 'http:' || protocol === 'https:') {
@@ -103,4 +110,4 @@ function render(markdown, _ref) {
103
110
  html = (0, _ariaLabel.post)(html);
104
111
  return (0, _sanitizeHtml.default)(html, SANITIZE_HTML_OPTIONS);
105
112
  }
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdENvcmUiLCJyZXF1aXJlIiwiX21hcmtkb3duSXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Nhbml0aXplSHRtbCIsIl9yZXNwZWN0Q1JMRiIsIl9hcmlhTGFiZWwiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9iZXR0ZXJMaW5rIiwiX2l0ZXJhdGVMaW5rRGVmaW5pdGlvbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlNBTklUSVpFX0hUTUxfT1BUSU9OUyIsImZyZWV6ZSIsImFsbG93ZWRBdHRyaWJ1dGVzIiwiYSIsImJ1dHRvbiIsImltZyIsInNwYW4iLCJhbGxvd2VkU2NoZW1lcyIsImFsbG93ZWRUYWdzIiwibm9uQm9vbGVhbkF0dHJpYnV0ZXMiLCJNQVJLRE9XTl9JVF9JTklUIiwiYnJlYWtzIiwiaHRtbCIsImxpbmtpZnkiLCJ0eXBvZ3JhcGhlciIsInhodG1sT3V0IiwicmVuZGVyIiwibWFya2Rvd24iLCJfcmVmIiwibWFya2Rvd25SZXNwZWN0Q1JMRiIsIl9yZWYyIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3JlZjIkZXh0ZXJuYWxMaW5rQWx0IiwiZXh0ZXJuYWxMaW5rQWx0IiwibGlua0RlZmluaXRpb25zIiwiQXJyYXkiLCJmcm9tIiwiaXRlcmF0ZUxpbmtEZWZpbml0aW9ucyIsInJlc3BlY3RDUkxGUHJlIiwiYXJpYUxhYmVsUHJlIiwibWFya2Rvd25JdCIsIk1hcmtkb3duSXQiLCJ1c2UiLCJhcmlhTGFiZWwiLCJiZXR0ZXJMaW5rIiwiaHJlZiIsInRleHRDb250ZW50IiwiZGVjb3JhdGlvbiIsInJlbCIsInRhcmdldCIsImFyaWFMYWJlbFNlZ21lbnRzIiwiY2xhc3NlcyIsIlNldCIsImxpbmtEZWZpbml0aW9uIiwiZmluZCIsIl9yZWYzIiwidXJsIiwicHJvdG9jb2wiLCJvbkVycm9yUmVzdW1lTmV4dCIsIlVSTCIsInB1c2giLCJ0aXRsZSIsImhvc3QiLCJpZGVudGlmaWVyIiwiYWRkIiwiYXNCdXR0b24iLCJpY29uQWx0IiwiaWNvbkNsYXNzTmFtZSIsInZhbHVlIiwiam9pbiIsImNsYXNzTmFtZSIsImFyaWFMYWJlbFBvc3QiLCJzYW5pdGl6ZUhUTUwiXSwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXJrZG93bi9yZW5kZXJNYXJrZG93bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvbkVycm9yUmVzdW1lTmV4dCB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IE1hcmtkb3duSXQgZnJvbSAnbWFya2Rvd24taXQnO1xuaW1wb3J0IHNhbml0aXplSFRNTCBmcm9tICdzYW5pdGl6ZS1odG1sJztcblxuaW1wb3J0IHsgcHJlIGFzIHJlc3BlY3RDUkxGUHJlIH0gZnJvbSAnLi9tYXJrZG93bkl0UGx1Z2lucy9yZXNwZWN0Q1JMRic7XG5pbXBvcnQgYXJpYUxhYmVsLCB7IHBvc3QgYXMgYXJpYUxhYmVsUG9zdCwgcHJlIGFzIGFyaWFMYWJlbFByZSB9IGZyb20gJy4vbWFya2Rvd25JdFBsdWdpbnMvYXJpYUxhYmVsJztcbmltcG9ydCBiZXR0ZXJMaW5rIGZyb20gJy4vbWFya2Rvd25JdFBsdWdpbnMvYmV0dGVyTGluayc7XG5pbXBvcnQgaXRlcmF0ZUxpbmtEZWZpbml0aW9ucyBmcm9tICcuL3ByaXZhdGUvaXRlcmF0ZUxpbmtEZWZpbml0aW9ucyc7XG5cbmNvbnN0IFNBTklUSVpFX0hUTUxfT1BUSU9OUyA9IE9iamVjdC5mcmVlemUoe1xuICBhbGxvd2VkQXR0cmlidXRlczoge1xuICAgIGE6IFsnYXJpYS1sYWJlbCcsICdjbGFzcycsICdocmVmJywgJ25hbWUnLCAncmVsJywgJ3RhcmdldCddLFxuICAgIGJ1dHRvbjogWydhcmlhLWxhYmVsJywgJ2NsYXNzJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgICBpbWc6IFsnYWx0JywgJ2NsYXNzJywgJ3NyYycsICd0aXRsZSddLFxuICAgIHNwYW46IFsnYXJpYS1sYWJlbCddXG4gIH0sXG4gIGFsbG93ZWRTY2hlbWVzOiBbJ2RhdGEnLCAnaHR0cCcsICdodHRwcycsICdmdHAnLCAnbWFpbHRvJywgJ3NpcCcsICd0ZWwnXSxcbiAgYWxsb3dlZFRhZ3M6IFtcbiAgICAnYScsXG4gICAgJ2InLFxuICAgICdibG9ja3F1b3RlJyxcbiAgICAnYnInLFxuICAgICdidXR0b24nLFxuICAgICdjYXB0aW9uJyxcbiAgICAnY29kZScsXG4gICAgJ2RlbCcsXG4gICAgJ2RpdicsXG4gICAgJ2VtJyxcbiAgICAnaDEnLFxuICAgICdoMicsXG4gICAgJ2gzJyxcbiAgICAnaDQnLFxuICAgICdoNScsXG4gICAgJ2g2JyxcbiAgICAnaHInLFxuICAgICdpJyxcbiAgICAnaW1nJyxcbiAgICAnaW5zJyxcbiAgICAnbGknLFxuICAgICdubCcsXG4gICAgJ29sJyxcbiAgICAncCcsXG4gICAgJ3ByZScsXG4gICAgJ3MnLFxuICAgICdzcGFuJyxcbiAgICAnc3RyaWtlJyxcbiAgICAnc3Ryb25nJyxcbiAgICAndGFibGUnLFxuICAgICd0Ym9keScsXG4gICAgJ3RkJyxcbiAgICAndGZvb3QnLFxuICAgICd0aCcsXG4gICAgJ3RoZWFkJyxcbiAgICAndHInLFxuICAgICd1bCdcbiAgXSxcbiAgLy8gQnVnIG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9hcG9zdHJvcGhlY21zL3Nhbml0aXplLWh0bWwvaXNzdWVzLzYzMy5cbiAgLy8gVGhleSBzaG91bGQgbm90IHJlbW92ZSBgYWx0PVwiXCJgIGV2ZW4gdGhvdWdoIGl0IGlzIGVtcHR5LlxuICBub25Cb29sZWFuQXR0cmlidXRlczogW11cbn0pO1xuXG5jb25zdCBNQVJLRE9XTl9JVF9JTklUID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGJyZWFrczogZmFsc2UsXG4gIGh0bWw6IGZhbHNlLFxuICBsaW5raWZ5OiB0cnVlLFxuICB0eXBvZ3JhcGhlcjogdHJ1ZSxcbiAgeGh0bWxPdXQ6IHRydWVcbn0pO1xuXG50eXBlIEJldHRlckxpbmtEZWNvcmF0aW9uID0gRXhjbHVkZTxSZXR1cm5UeXBlPFBhcmFtZXRlcnM8dHlwZW9mIGJldHRlckxpbms+WzFdPiwgdW5kZWZpbmVkPjtcbnR5cGUgUmVuZGVySW5pdCA9IHsgZXh0ZXJuYWxMaW5rQWx0Pzogc3RyaW5nIH07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlbmRlcihcbiAgbWFya2Rvd246IHN0cmluZyxcbiAgeyBtYXJrZG93blJlc3BlY3RDUkxGIH06IFJlYWRvbmx5PHsgbWFya2Rvd25SZXNwZWN0Q1JMRjogYm9vbGVhbiB9PixcbiAgeyBleHRlcm5hbExpbmtBbHQgPSAnJyB9OiBSZWFkb25seTxSZW5kZXJJbml0PiA9IE9iamVjdC5mcmVlemUoe30pXG4pOiBzdHJpbmcge1xuICBjb25zdCBsaW5rRGVmaW5pdGlvbnMgPSBBcnJheS5mcm9tKGl0ZXJhdGVMaW5rRGVmaW5pdGlvbnMobWFya2Rvd24pKTtcblxuICBpZiAobWFya2Rvd25SZXNwZWN0Q1JMRikge1xuICAgIG1hcmtkb3duID0gcmVzcGVjdENSTEZQcmUobWFya2Rvd24pO1xuICB9XG5cbiAgbWFya2Rvd24gPSBhcmlhTGFiZWxQcmUobWFya2Rvd24pO1xuXG4gIGNvbnN0IG1hcmtkb3duSXQgPSBuZXcgTWFya2Rvd25JdChNQVJLRE9XTl9JVF9JTklUKVxuICAgIC51c2UoYXJpYUxhYmVsKVxuICAgIC51c2UoYmV0dGVyTGluaywgKGhyZWY6IHN0cmluZywgdGV4dENvbnRlbnQ6IHN0cmluZyk6IEJldHRlckxpbmtEZWNvcmF0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIGNvbnN0IGRlY29yYXRpb246IEJldHRlckxpbmtEZWNvcmF0aW9uID0ge1xuICAgICAgICByZWw6ICdub29wZW5lciBub3JlZmVycmVyJyxcbiAgICAgICAgdGFyZ2V0OiAnX2JsYW5rJ1xuICAgICAgfTtcblxuICAgICAgY29uc3QgYXJpYUxhYmVsU2VnbWVudHM6IHN0cmluZ1tdID0gW3RleHRDb250ZW50XTtcbiAgICAgIGNvbnN0IGNsYXNzZXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuICAgICAgY29uc3QgbGlua0RlZmluaXRpb24gPSBsaW5rRGVmaW5pdGlvbnMuZmluZCgoeyB1cmwgfSkgPT4gdXJsID09PSBocmVmKTtcbiAgICAgIGNvbnN0IHByb3RvY29sID0gb25FcnJvclJlc3VtZU5leHQoKCkgPT4gbmV3IFVSTChocmVmKS5wcm90b2NvbCk7XG5cbiAgICAgIGlmIChsaW5rRGVmaW5pdGlvbikge1xuICAgICAgICBhcmlhTGFiZWxTZWdtZW50cy5wdXNoKFxuICAgICAgICAgIGxpbmtEZWZpbml0aW9uLnRpdGxlIHx8IG9uRXJyb3JSZXN1bWVOZXh0KCgpID0+IG5ldyBVUkwobGlua0RlZmluaXRpb24udXJsKS5ob3N0KSB8fCBsaW5rRGVmaW5pdGlvbi51cmxcbiAgICAgICAgKTtcblxuICAgICAgICBsaW5rRGVmaW5pdGlvbi5pZGVudGlmaWVyID09PSB0ZXh0Q29udGVudCAmJiBjbGFzc2VzLmFkZCgnd2ViY2hhdF9fcmVuZGVyLW1hcmtkb3duX19wdXJlLWlkZW50aWZpZXInKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3RvY29sID09PSAnY2l0ZTonKSB7XG4gICAgICAgIGRlY29yYXRpb24uYXNCdXR0b24gPSB0cnVlO1xuXG4gICAgICAgIGNsYXNzZXMuYWRkKCd3ZWJjaGF0X19yZW5kZXItbWFya2Rvd25fX2NpdGF0aW9uJyk7XG4gICAgICB9IGVsc2UgaWYgKHByb3RvY29sID09PSAnaHR0cDonIHx8IHByb3RvY29sID09PSAnaHR0cHM6Jykge1xuICAgICAgICBkZWNvcmF0aW9uLmljb25BbHQgPSBleHRlcm5hbExpbmtBbHQ7XG4gICAgICAgIGRlY29yYXRpb24uaWNvbkNsYXNzTmFtZSA9ICd3ZWJjaGF0X19yZW5kZXItbWFya2Rvd25fX2V4dGVybmFsLWxpbmstaWNvbic7XG5cbiAgICAgICAgYXJpYUxhYmVsU2VnbWVudHMucHVzaChleHRlcm5hbExpbmtBbHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBUaGUgZmlyc3Qgc2VnbWVudCBpcyB0ZXh0Q29udGVudC4gUHV0dGluZyB0ZXh0Q29udGVudCBpcyBhcmlhLWxhYmVsIGlzIHVzZWxlc3MuXG4gICAgICBpZiAoYXJpYUxhYmVsU2VnbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAvLyBJZiBcImFyaWEtbGFiZWxcIiBpcyBhbHJlYWR5IGFwcGxpZWQsIGRvIG5vdCBvdmVyd3JpdGUgaXQuXG4gICAgICAgIGRlY29yYXRpb24uYXJpYUxhYmVsID0gKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlIHx8IGFyaWFMYWJlbFNlZ21lbnRzLmpvaW4oJyAnKTtcbiAgICAgIH1cblxuICAgICAgZGVjb3JhdGlvbi5jbGFzc05hbWUgPSBBcnJheS5mcm9tKGNsYXNzZXMpLmpvaW4oJyAnKTtcblxuICAgICAgLy8gQnkgZGVmYXVsdCwgTWFya2Rvd24tSXQgd2lsbCBzZXQgXCJ0aXRsZVwiIHRvIHRoZSBsaW5rIHRpdGxlIGluIGxpbmsgZGVmaW5pdGlvbi5cblxuICAgICAgLy8gSG93ZXZlciwgXCJ0aXRsZVwiIG1heSBiZSBuYXJyYXRlZCBieSBzY3JlZW4gcmVhZGVyOlxuICAgICAgLy8gLSBFZGdlXG4gICAgICAvLyAgIC0gPGE+IHdpbGwgbmFycmF0ZSBcImFyaWEtbGFiZWxcIiBidXQgbm90IFwidGl0bGVcIlxuICAgICAgLy8gICAtIDxidXR0b24+IHdpbGwgbmFycmF0ZSBib3RoIFwiYXJpYS1sYWJlbFwiIGFuZCBcInRpdGxlXCJcbiAgICAgIC8vIC0gTlZEQVxuICAgICAgLy8gICAtIDxhPiB3aWxsIG5hcnJhdGUgYm90aCBcImFyaWEtbGFiZWxcIiBhbmQgXCJ0aXRsZVwiXG4gICAgICAvLyAgIC0gPGJ1dHRvbj4gd2lsbCBuYXJyYXRlIGJvdGggXCJhcmlhLWxhYmVsXCIgYW5kIFwidGl0bGVcIlxuXG4gICAgICAvLyBUaXRsZSBtYWtlcyBpdCB2ZXJ5IGRpZmZpY3VsdCB0byBjb250cm9sIG5hcnJhdGlvbnMgYnkgdGhlIHNjcmVlbiByZWFkZXIuIFRodXMsIHdlIGFyZSBkaXNhYmxpbmcgaXQgaW4gZmF2b3Igb2YgXCJhcmlhLWxhYmVsXCIuXG4gICAgICAvLyBUaGlzIHdpbGwgbm90IGFmZmVjdCBvdXIgYWNjZXNzaWJpbGl0eSBjb21wbGlhbmNlIGJ1dCBVWC4gV2UgY291bGQgdXNlIGEgbm9uLW5hdGl2ZSB0b29sdGlwIG9yIG90aGVyIGZvcm1zIG9mIHZpc3VhbCBoaW50LlxuXG4gICAgICBkZWNvcmF0aW9uLnRpdGxlID0gZmFsc2U7XG5cbiAgICAgIHJldHVybiBkZWNvcmF0aW9uO1xuICAgIH0pO1xuXG4gIGxldCBodG1sID0gbWFya2Rvd25JdC5yZW5kZXIobWFya2Rvd24pO1xuXG4gIGh0bWwgPSBhcmlhTGFiZWxQb3N0KGh0bWwpO1xuXG4gIHJldHVybiBzYW5pdGl6ZUhUTUwoaHRtbCwgU0FOSVRJWkVfSFRNTF9PUFRJT05TKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSx3QkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBQyx1QkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsdUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUFzRSxTQUFBUyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUosd0JBQUFRLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUFFdEUsSUFBTVcscUJBQXFCLEdBQUdULE1BQU0sQ0FBQ1UsTUFBTSxDQUFDO0VBQzFDQyxpQkFBaUIsRUFBRTtJQUNqQkMsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUM7SUFDM0RDLE1BQU0sRUFBRSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztJQUNoREMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO0lBQ3JDQyxJQUFJLEVBQUUsQ0FBQyxZQUFZO0VBQ3JCLENBQUM7RUFDREMsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0VBQ3hFQyxXQUFXLEVBQUUsQ0FDWCxHQUFHLEVBQ0gsR0FBRyxFQUNILFlBQVksRUFDWixJQUFJLEVBQ0osUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLEdBQUcsRUFDSCxLQUFLLEVBQ0wsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLEdBQUcsRUFDSCxLQUFLLEVBQ0wsR0FBRyxFQUNILE1BQU0sRUFDTixRQUFRLEVBQ1IsUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxJQUFJLEVBQ0osT0FBTyxFQUNQLElBQUksRUFDSixJQUFJLENBQ0w7RUFDRDtFQUNBO0VBQ0FDLG9CQUFvQixFQUFFO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQU1DLGdCQUFnQixHQUFHbkIsTUFBTSxDQUFDVSxNQUFNLENBQUM7RUFDckNVLE1BQU0sRUFBRSxLQUFLO0VBQ2JDLElBQUksRUFBRSxLQUFLO0VBQ1hDLE9BQU8sRUFBRSxJQUFJO0VBQ2JDLFdBQVcsRUFBRSxJQUFJO0VBQ2pCQyxRQUFRLEVBQUU7QUFDWixDQUFDLENBQUM7QUFLYSxTQUFTQyxNQUFNQSxDQUM1QkMsUUFBZ0IsRUFBQUMsSUFBQSxFQUdSO0VBQUEsSUFGTkMsbUJBQW1CLEdBQUFELElBQUEsQ0FBbkJDLG1CQUFtQjtFQUFBLElBQUFDLEtBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQzRCOUIsTUFBTSxDQUFDVSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQXVCLHFCQUFBLEdBQUFKLEtBQUEsQ0FBaEVLLGVBQWU7SUFBZkEsZUFBZSxHQUFBRCxxQkFBQSxjQUFHLEVBQUUsR0FBQUEscUJBQUE7RUFFdEIsSUFBTUUsZUFBZSxHQUFHQyxLQUFLLENBQUNDLElBQUksQ0FBQyxJQUFBQywrQkFBc0IsRUFBQ1osUUFBUSxDQUFDLENBQUM7RUFFcEUsSUFBSUUsbUJBQW1CLEVBQUU7SUFDdkJGLFFBQVEsR0FBRyxJQUFBYSxnQkFBYyxFQUFDYixRQUFRLENBQUM7RUFDckM7RUFFQUEsUUFBUSxHQUFHLElBQUFjLGNBQVksRUFBQ2QsUUFBUSxDQUFDO0VBRWpDLElBQU1lLFVBQVUsR0FBRyxJQUFJQyxtQkFBVSxDQUFDdkIsZ0JBQWdCLENBQUMsQ0FDaER3QixHQUFHLENBQUNDLGtCQUFTLENBQUMsQ0FDZEQsR0FBRyxDQUFDRSxtQkFBVSxFQUFFLFVBQUNDLElBQVksRUFBRUMsV0FBbUIsRUFBdUM7SUFDeEYsSUFBTUMsVUFBZ0MsR0FBRztNQUN2Q0MsR0FBRyxFQUFFLHFCQUFxQjtNQUMxQkMsTUFBTSxFQUFFO0lBQ1YsQ0FBQztJQUVELElBQU1DLGlCQUEyQixHQUFHLENBQUNKLFdBQVcsQ0FBQztJQUNqRCxJQUFNSyxPQUFvQixHQUFHLElBQUlDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLElBQU1DLGNBQWMsR0FBR25CLGVBQWUsQ0FBQ29CLElBQUksQ0FBQyxVQUFBQyxLQUFBO01BQUEsSUFBR0MsR0FBRyxHQUFBRCxLQUFBLENBQUhDLEdBQUc7TUFBQSxPQUFPQSxHQUFHLEtBQUtYLElBQUk7SUFBQSxFQUFDO0lBQ3RFLElBQU1ZLFFBQVEsR0FBRyxJQUFBQywwQ0FBaUIsRUFBQztNQUFBLE9BQU0sSUFBSUMsR0FBRyxDQUFDZCxJQUFJLENBQUMsQ0FBQ1ksUUFBUTtJQUFBLEVBQUM7SUFFaEUsSUFBSUosY0FBYyxFQUFFO01BQ2xCSCxpQkFBaUIsQ0FBQ1UsSUFBSSxDQUNwQlAsY0FBYyxDQUFDUSxLQUFLLElBQUksSUFBQUgsMENBQWlCLEVBQUM7UUFBQSxPQUFNLElBQUlDLEdBQUcsQ0FBQ04sY0FBYyxDQUFDRyxHQUFHLENBQUMsQ0FBQ00sSUFBSTtNQUFBLEVBQUMsSUFBSVQsY0FBYyxDQUFDRyxHQUN0RyxDQUFDO01BRURILGNBQWMsQ0FBQ1UsVUFBVSxLQUFLakIsV0FBVyxJQUFJSyxPQUFPLENBQUNhLEdBQUcsQ0FBQywyQ0FBMkMsQ0FBQztJQUN2RztJQUVBLElBQUlQLFFBQVEsS0FBSyxPQUFPLEVBQUU7TUFDeEJWLFVBQVUsQ0FBQ2tCLFFBQVEsR0FBRyxJQUFJO01BRTFCZCxPQUFPLENBQUNhLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQztJQUNuRCxDQUFDLE1BQU0sSUFBSVAsUUFBUSxLQUFLLE9BQU8sSUFBSUEsUUFBUSxLQUFLLFFBQVEsRUFBRTtNQUN4RFYsVUFBVSxDQUFDbUIsT0FBTyxHQUFHakMsZUFBZTtNQUNwQ2MsVUFBVSxDQUFDb0IsYUFBYSxHQUFHLDhDQUE4QztNQUV6RWpCLGlCQUFpQixDQUFDVSxJQUFJLENBQUMzQixlQUFlLENBQUM7SUFDekM7O0lBRUE7SUFDQSxJQUFJaUIsaUJBQWlCLENBQUNwQixNQUFNLEdBQUcsQ0FBQyxFQUFFO01BQ2hDO01BQ0FpQixVQUFVLENBQUNKLFNBQVMsR0FBRyxVQUFDeUIsS0FBYTtRQUFBLE9BQUtBLEtBQUssSUFBSWxCLGlCQUFpQixDQUFDbUIsSUFBSSxDQUFDLEdBQUcsQ0FBQztNQUFBO0lBQ2hGO0lBRUF0QixVQUFVLENBQUN1QixTQUFTLEdBQUduQyxLQUFLLENBQUNDLElBQUksQ0FBQ2UsT0FBTyxDQUFDLENBQUNrQixJQUFJLENBQUMsR0FBRyxDQUFDOztJQUVwRDs7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7SUFFQTtJQUNBOztJQUVBdEIsVUFBVSxDQUFDYyxLQUFLLEdBQUcsS0FBSztJQUV4QixPQUFPZCxVQUFVO0VBQ25CLENBQUMsQ0FBQztFQUVKLElBQUkzQixJQUFJLEdBQUdvQixVQUFVLENBQUNoQixNQUFNLENBQUNDLFFBQVEsQ0FBQztFQUV0Q0wsSUFBSSxHQUFHLElBQUFtRCxlQUFhLEVBQUNuRCxJQUFJLENBQUM7RUFFMUIsT0FBTyxJQUFBb0QscUJBQVksRUFBQ3BELElBQUksRUFBRVoscUJBQXFCLENBQUM7QUFDbEQifQ==
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdENvcmUiLCJyZXF1aXJlIiwiX21hcmtkb3duSXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Nhbml0aXplSHRtbCIsIl9hcmlhTGFiZWwiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9iZXR0ZXJMaW5rIiwiX3Jlc3BlY3RDUkxGIiwiX2l0ZXJhdGVMaW5rRGVmaW5pdGlvbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlNBTklUSVpFX0hUTUxfT1BUSU9OUyIsImZyZWV6ZSIsImFsbG93ZWRBdHRyaWJ1dGVzIiwiYSIsImJ1dHRvbiIsImltZyIsInNwYW4iLCJhbGxvd2VkU2NoZW1lcyIsImFsbG93ZWRUYWdzIiwibm9uQm9vbGVhbkF0dHJpYnV0ZXMiLCJNQVJLRE9XTl9JVF9JTklUIiwiYnJlYWtzIiwiaHRtbCIsImxpbmtpZnkiLCJ0eXBvZ3JhcGhlciIsInhodG1sT3V0IiwicmVuZGVyIiwibWFya2Rvd24iLCJfcmVmIiwibWFya2Rvd25SZXNwZWN0Q1JMRiIsIl9yZWYyIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3JlZjIkZXh0ZXJuYWxMaW5rQWx0IiwiZXh0ZXJuYWxMaW5rQWx0IiwibGlua0RlZmluaXRpb25zIiwiQXJyYXkiLCJmcm9tIiwiaXRlcmF0ZUxpbmtEZWZpbml0aW9ucyIsInJlc3BlY3RDUkxGUHJlIiwiYXJpYUxhYmVsUHJlIiwibWFya2Rvd25JdCIsIk1hcmtkb3duSXQiLCJ1c2UiLCJhcmlhTGFiZWwiLCJiZXR0ZXJMaW5rIiwiaHJlZiIsInRleHRDb250ZW50IiwiZGVjb3JhdGlvbiIsInJlbCIsInRhcmdldCIsIndyYXBaZXJvV2lkdGhTcGFjZSIsImFyaWFMYWJlbFNlZ21lbnRzIiwiY2xhc3NlcyIsIlNldCIsImxpbmtEZWZpbml0aW9uIiwiZmluZCIsIl9yZWYzIiwidXJsIiwicHJvdG9jb2wiLCJvbkVycm9yUmVzdW1lTmV4dCIsIlVSTCIsInB1c2giLCJ0aXRsZSIsImhvc3QiLCJsYWJlbCIsImFkZCIsIm1hcCIsInNjaGVtZSIsImNvbmNhdCIsImluY2x1ZGVzIiwiYXNCdXR0b24iLCJpY29uQWx0IiwiaWNvbkNsYXNzTmFtZSIsInZhbHVlIiwiam9pbiIsImNsYXNzTmFtZSIsImFyaWFMYWJlbFBvc3QiLCJzYW5pdGl6ZUhUTUwiXSwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXJrZG93bi9yZW5kZXJNYXJrZG93bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvbkVycm9yUmVzdW1lTmV4dCB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IE1hcmtkb3duSXQgZnJvbSAnbWFya2Rvd24taXQnO1xuaW1wb3J0IHNhbml0aXplSFRNTCBmcm9tICdzYW5pdGl6ZS1odG1sJztcblxuaW1wb3J0IGFyaWFMYWJlbCwgeyBwb3N0IGFzIGFyaWFMYWJlbFBvc3QsIHByZSBhcyBhcmlhTGFiZWxQcmUgfSBmcm9tICcuL21hcmtkb3duSXRQbHVnaW5zL2FyaWFMYWJlbCc7XG5pbXBvcnQgYmV0dGVyTGluayBmcm9tICcuL21hcmtkb3duSXRQbHVnaW5zL2JldHRlckxpbmsnO1xuaW1wb3J0IHsgcHJlIGFzIHJlc3BlY3RDUkxGUHJlIH0gZnJvbSAnLi9tYXJrZG93bkl0UGx1Z2lucy9yZXNwZWN0Q1JMRic7XG5pbXBvcnQgaXRlcmF0ZUxpbmtEZWZpbml0aW9ucyBmcm9tICcuL3ByaXZhdGUvaXRlcmF0ZUxpbmtEZWZpbml0aW9ucyc7XG5cbmNvbnN0IFNBTklUSVpFX0hUTUxfT1BUSU9OUyA9IE9iamVjdC5mcmVlemUoe1xuICBhbGxvd2VkQXR0cmlidXRlczoge1xuICAgIGE6IFsnYXJpYS1sYWJlbCcsICdjbGFzcycsICdocmVmJywgJ25hbWUnLCAncmVsJywgJ3RhcmdldCddLFxuICAgIGJ1dHRvbjogWydhcmlhLWxhYmVsJywgJ2NsYXNzJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgICBpbWc6IFsnYWx0JywgJ2NsYXNzJywgJ3NyYycsICd0aXRsZSddLFxuICAgIHNwYW46IFsnYXJpYS1sYWJlbCddXG4gIH0sXG4gIGFsbG93ZWRTY2hlbWVzOiBbJ2RhdGEnLCAnaHR0cCcsICdodHRwcycsICdmdHAnLCAnbWFpbHRvJywgJ3NpcCcsICd0ZWwnXSxcbiAgYWxsb3dlZFRhZ3M6IFtcbiAgICAnYScsXG4gICAgJ2InLFxuICAgICdibG9ja3F1b3RlJyxcbiAgICAnYnInLFxuICAgICdidXR0b24nLFxuICAgICdjYXB0aW9uJyxcbiAgICAnY29kZScsXG4gICAgJ2RlbCcsXG4gICAgJ2RpdicsXG4gICAgJ2VtJyxcbiAgICAnaDEnLFxuICAgICdoMicsXG4gICAgJ2gzJyxcbiAgICAnaDQnLFxuICAgICdoNScsXG4gICAgJ2g2JyxcbiAgICAnaHInLFxuICAgICdpJyxcbiAgICAnaW1nJyxcbiAgICAnaW5zJyxcbiAgICAnbGknLFxuICAgICdubCcsXG4gICAgJ29sJyxcbiAgICAncCcsXG4gICAgJ3ByZScsXG4gICAgJ3MnLFxuICAgICdzcGFuJyxcbiAgICAnc3RyaWtlJyxcbiAgICAnc3Ryb25nJyxcbiAgICAndGFibGUnLFxuICAgICd0Ym9keScsXG4gICAgJ3RkJyxcbiAgICAndGZvb3QnLFxuICAgICd0aCcsXG4gICAgJ3RoZWFkJyxcbiAgICAndHInLFxuICAgICd1bCdcbiAgXSxcbiAgLy8gQnVnIG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9hcG9zdHJvcGhlY21zL3Nhbml0aXplLWh0bWwvaXNzdWVzLzYzMy5cbiAgLy8gVGhleSBzaG91bGQgbm90IHJlbW92ZSBgYWx0PVwiXCJgIGV2ZW4gdGhvdWdoIGl0IGlzIGVtcHR5LlxuICBub25Cb29sZWFuQXR0cmlidXRlczogW11cbn0pO1xuXG5jb25zdCBNQVJLRE9XTl9JVF9JTklUID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGJyZWFrczogZmFsc2UsXG4gIGh0bWw6IGZhbHNlLFxuICBsaW5raWZ5OiB0cnVlLFxuICB0eXBvZ3JhcGhlcjogdHJ1ZSxcbiAgeGh0bWxPdXQ6IHRydWVcbn0pO1xuXG50eXBlIEJldHRlckxpbmtEZWNvcmF0aW9uID0gRXhjbHVkZTxSZXR1cm5UeXBlPFBhcmFtZXRlcnM8dHlwZW9mIGJldHRlckxpbms+WzFdPiwgdW5kZWZpbmVkPjtcbnR5cGUgUmVuZGVySW5pdCA9IHsgZXh0ZXJuYWxMaW5rQWx0Pzogc3RyaW5nIH07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlbmRlcihcbiAgbWFya2Rvd246IHN0cmluZyxcbiAgeyBtYXJrZG93blJlc3BlY3RDUkxGIH06IFJlYWRvbmx5PHsgbWFya2Rvd25SZXNwZWN0Q1JMRjogYm9vbGVhbiB9PixcbiAgeyBleHRlcm5hbExpbmtBbHQgPSAnJyB9OiBSZWFkb25seTxSZW5kZXJJbml0PiA9IE9iamVjdC5mcmVlemUoe30pXG4pOiBzdHJpbmcge1xuICBjb25zdCBsaW5rRGVmaW5pdGlvbnMgPSBBcnJheS5mcm9tKGl0ZXJhdGVMaW5rRGVmaW5pdGlvbnMobWFya2Rvd24pKTtcblxuICBpZiAobWFya2Rvd25SZXNwZWN0Q1JMRikge1xuICAgIG1hcmtkb3duID0gcmVzcGVjdENSTEZQcmUobWFya2Rvd24pO1xuICB9XG5cbiAgbWFya2Rvd24gPSBhcmlhTGFiZWxQcmUobWFya2Rvd24pO1xuXG4gIGNvbnN0IG1hcmtkb3duSXQgPSBuZXcgTWFya2Rvd25JdChNQVJLRE9XTl9JVF9JTklUKVxuICAgIC51c2UoYXJpYUxhYmVsKVxuICAgIC51c2UoYmV0dGVyTGluaywgKGhyZWY6IHN0cmluZywgdGV4dENvbnRlbnQ6IHN0cmluZyk6IEJldHRlckxpbmtEZWNvcmF0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIGNvbnN0IGRlY29yYXRpb246IEJldHRlckxpbmtEZWNvcmF0aW9uID0ge1xuICAgICAgICByZWw6ICdub29wZW5lciBub3JlZmVycmVyJyxcbiAgICAgICAgdGFyZ2V0OiAnX2JsYW5rJyxcbiAgICAgICAgd3JhcFplcm9XaWR0aFNwYWNlOiB0cnVlXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBhcmlhTGFiZWxTZWdtZW50czogc3RyaW5nW10gPSBbdGV4dENvbnRlbnRdO1xuICAgICAgY29uc3QgY2xhc3NlczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gICAgICBjb25zdCBsaW5rRGVmaW5pdGlvbiA9IGxpbmtEZWZpbml0aW9ucy5maW5kKCh7IHVybCB9KSA9PiB1cmwgPT09IGhyZWYpO1xuICAgICAgY29uc3QgcHJvdG9jb2wgPSBvbkVycm9yUmVzdW1lTmV4dCgoKSA9PiBuZXcgVVJMKGhyZWYpLnByb3RvY29sKTtcblxuICAgICAgaWYgKGxpbmtEZWZpbml0aW9uKSB7XG4gICAgICAgIGFyaWFMYWJlbFNlZ21lbnRzLnB1c2goXG4gICAgICAgICAgbGlua0RlZmluaXRpb24udGl0bGUgfHwgb25FcnJvclJlc3VtZU5leHQoKCkgPT4gbmV3IFVSTChsaW5rRGVmaW5pdGlvbi51cmwpLmhvc3QpIHx8IGxpbmtEZWZpbml0aW9uLnVybFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIGxpbmtEZWZpbml0aW9uLmlkZW50aWZpZXIgaXMgdXBwZXJjYXNlLCB3aGlsZSBsaW5rRGVmaW5pdGlvbi5sYWJlbCBpcyBhcy1pcy5cbiAgICAgICAgbGlua0RlZmluaXRpb24ubGFiZWwgPT09IHRleHRDb250ZW50ICYmIGNsYXNzZXMuYWRkKCd3ZWJjaGF0X19yZW5kZXItbWFya2Rvd25fX3B1cmUtaWRlbnRpZmllcicpO1xuICAgICAgfVxuXG4gICAgICAvLyBGb3IgbGlua3MgdGhhdCB3b3VsZCBiZSBzYW5pdGl6ZWQgb3V0LCBsZXQncyB0dXJuIHRoZW0gaW50byBhIGJ1dHRvbiBzbyB3ZSBjb3VsZCBoYW5kbGUgdGhlbSBsYXRlci5cbiAgICAgIGlmICghU0FOSVRJWkVfSFRNTF9PUFRJT05TLmFsbG93ZWRTY2hlbWVzLm1hcChzY2hlbWUgPT4gYCR7c2NoZW1lfTpgKS5pbmNsdWRlcyhwcm90b2NvbCkpIHtcbiAgICAgICAgZGVjb3JhdGlvbi5hc0J1dHRvbiA9IHRydWU7XG5cbiAgICAgICAgY2xhc3Nlcy5hZGQoJ3dlYmNoYXRfX3JlbmRlci1tYXJrZG93bl9fY2l0YXRpb24nKTtcbiAgICAgIH0gZWxzZSBpZiAocHJvdG9jb2wgPT09ICdodHRwOicgfHwgcHJvdG9jb2wgPT09ICdodHRwczonKSB7XG4gICAgICAgIGRlY29yYXRpb24uaWNvbkFsdCA9IGV4dGVybmFsTGlua0FsdDtcbiAgICAgICAgZGVjb3JhdGlvbi5pY29uQ2xhc3NOYW1lID0gJ3dlYmNoYXRfX3JlbmRlci1tYXJrZG93bl9fZXh0ZXJuYWwtbGluay1pY29uJztcblxuICAgICAgICBhcmlhTGFiZWxTZWdtZW50cy5wdXNoKGV4dGVybmFsTGlua0FsdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFRoZSBmaXJzdCBzZWdtZW50IGlzIHRleHRDb250ZW50LiBQdXR0aW5nIHRleHRDb250ZW50IGlzIGFyaWEtbGFiZWwgaXMgdXNlbGVzcy5cbiAgICAgIGlmIChhcmlhTGFiZWxTZWdtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgIC8vIElmIFwiYXJpYS1sYWJlbFwiIGlzIGFscmVhZHkgYXBwbGllZCwgZG8gbm90IG92ZXJ3cml0ZSBpdC5cbiAgICAgICAgZGVjb3JhdGlvbi5hcmlhTGFiZWwgPSAodmFsdWU6IHN0cmluZykgPT4gdmFsdWUgfHwgYXJpYUxhYmVsU2VnbWVudHMuam9pbignICcpO1xuICAgICAgfVxuXG4gICAgICBkZWNvcmF0aW9uLmNsYXNzTmFtZSA9IEFycmF5LmZyb20oY2xhc3Nlcykuam9pbignICcpO1xuXG4gICAgICAvLyBCeSBkZWZhdWx0LCBNYXJrZG93bi1JdCB3aWxsIHNldCBcInRpdGxlXCIgdG8gdGhlIGxpbmsgdGl0bGUgaW4gbGluayBkZWZpbml0aW9uLlxuXG4gICAgICAvLyBIb3dldmVyLCBcInRpdGxlXCIgbWF5IGJlIG5hcnJhdGVkIGJ5IHNjcmVlbiByZWFkZXI6XG4gICAgICAvLyAtIEVkZ2VcbiAgICAgIC8vICAgLSA8YT4gd2lsbCBuYXJyYXRlIFwiYXJpYS1sYWJlbFwiIGJ1dCBub3QgXCJ0aXRsZVwiXG4gICAgICAvLyAgIC0gPGJ1dHRvbj4gd2lsbCBuYXJyYXRlIGJvdGggXCJhcmlhLWxhYmVsXCIgYW5kIFwidGl0bGVcIlxuICAgICAgLy8gLSBOVkRBXG4gICAgICAvLyAgIC0gPGE+IHdpbGwgbmFycmF0ZSBib3RoIFwiYXJpYS1sYWJlbFwiIGFuZCBcInRpdGxlXCJcbiAgICAgIC8vICAgLSA8YnV0dG9uPiB3aWxsIG5hcnJhdGUgYm90aCBcImFyaWEtbGFiZWxcIiBhbmQgXCJ0aXRsZVwiXG5cbiAgICAgIC8vIFRpdGxlIG1ha2VzIGl0IHZlcnkgZGlmZmljdWx0IHRvIGNvbnRyb2wgbmFycmF0aW9ucyBieSB0aGUgc2NyZWVuIHJlYWRlci4gVGh1cywgd2UgYXJlIGRpc2FibGluZyBpdCBpbiBmYXZvciBvZiBcImFyaWEtbGFiZWxcIi5cbiAgICAgIC8vIFRoaXMgd2lsbCBub3QgYWZmZWN0IG91ciBhY2Nlc3NpYmlsaXR5IGNvbXBsaWFuY2UgYnV0IFVYLiBXZSBjb3VsZCB1c2UgYSBub24tbmF0aXZlIHRvb2x0aXAgb3Igb3RoZXIgZm9ybXMgb2YgdmlzdWFsIGhpbnQuXG5cbiAgICAgIGRlY29yYXRpb24udGl0bGUgPSBmYWxzZTtcblxuICAgICAgcmV0dXJuIGRlY29yYXRpb247XG4gICAgfSk7XG5cbiAgbGV0IGh0bWwgPSBtYXJrZG93bkl0LnJlbmRlcihtYXJrZG93bik7XG5cbiAgaHRtbCA9IGFyaWFMYWJlbFBvc3QoaHRtbCk7XG5cbiAgcmV0dXJuIHNhbml0aXplSFRNTChodG1sLCBTQU5JVElaRV9IVE1MX09QVElPTlMpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLHdCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBSSxVQUFBLEdBQUFDLHVCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSx1QkFBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQXNFLFNBQUFTLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botframework-webchat",
3
- "version": "4.16.1-main.20240405.136b5a4",
3
+ "version": "4.16.1-main.20240405.6a623fb",
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",
@@ -107,10 +107,10 @@
107
107
  "@babel/runtime": "7.19.0",
108
108
  "adaptivecards": "3.0.2",
109
109
  "botframework-directlinejs": "0.15.5",
110
- "botframework-directlinespeech-sdk": "4.16.1-main.20240405.136b5a4",
111
- "botframework-webchat-api": "4.16.1-main.20240405.136b5a4",
112
- "botframework-webchat-component": "4.16.1-main.20240405.136b5a4",
113
- "botframework-webchat-core": "4.16.1-main.20240405.136b5a4",
110
+ "botframework-directlinespeech-sdk": "4.16.1-main.20240405.6a623fb",
111
+ "botframework-webchat-api": "4.16.1-main.20240405.6a623fb",
112
+ "botframework-webchat-component": "4.16.1-main.20240405.6a623fb",
113
+ "botframework-webchat-core": "4.16.1-main.20240405.6a623fb",
114
114
  "classnames": "2.3.2",
115
115
  "core-js": "3.34.0",
116
116
  "markdown-it": "13.0.2",
@@ -144,8 +144,8 @@
144
144
  "babel-plugin-transform-inline-environment-variables": "^0.4.4",
145
145
  "concurrently": "^8.2.2",
146
146
  "esbuild": "^0.19.8",
147
- "isomorphic-react": "4.16.1-main.20240405.136b5a4",
148
- "isomorphic-react-dom": "4.16.1-main.20240405.136b5a4",
147
+ "isomorphic-react": "4.16.1-main.20240405.6a623fb",
148
+ "isomorphic-react-dom": "4.16.1-main.20240405.6a623fb",
149
149
  "source-map-loader": "^4.0.1",
150
150
  "terser-webpack-plugin": "^5.3.9",
151
151
  "tsd": "^0.30.3",
@@ -54,7 +54,7 @@ describe('renderMarkdown', () => {
54
54
 
55
55
  expect(renderMarkdown('[example](https://sample.com){aria-label="Sample label"}', styleOptions))
56
56
  .toMatchInlineSnapshot(`
57
- "<p><a href=\\"https://sample.com\\" aria-label=\\"Sample label\\" rel=\\"noopener noreferrer\\" target=\\"_blank\\">example<img src=\\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\\" alt class=\\"webchat__render-markdown__external-link-icon\\" title /></a></p>
57
+ "<p>\u200B<a href=\\"https://sample.com\\" aria-label=\\"Sample label\\" rel=\\"noopener noreferrer\\" target=\\"_blank\\">example<img src=\\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\\" alt class=\\"webchat__render-markdown__external-link-icon\\" title /></a>\u200B</p>
58
58
  "
59
59
  `);
60
60
  });
@@ -65,7 +65,7 @@ describe('renderMarkdown', () => {
65
65
 
66
66
  expect(renderMarkdown('[example](https://sample.com){aria-label="Sample label"}', styleOptions, options))
67
67
  .toMatchInlineSnapshot(`
68
- "<p><a href=\\"https://sample.com\\" aria-label=\\"Sample label\\" rel=\\"noopener noreferrer\\" target=\\"_blank\\">example<img src=\\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\\" alt class=\\"webchat__render-markdown__external-link-icon\\" title=\\"Opens in a new window, external.\\" /></a></p>
68
+ "<p>\u200B<a href=\\"https://sample.com\\" aria-label=\\"Sample label\\" rel=\\"noopener noreferrer\\" target=\\"_blank\\">example<img src=\\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\\" alt class=\\"webchat__render-markdown__external-link-icon\\" title=\\"Opens in a new window, external.\\" /></a>\u200B</p>
69
69
  "
70
70
  `);
71
71
  });
@@ -74,7 +74,7 @@ describe('renderMarkdown', () => {
74
74
  const styleOptions = { markdownRespectCRLF: true };
75
75
 
76
76
  expect(renderMarkdown(`[example@test.com](sip:example@test.com)`, styleOptions)).toBe(
77
- '<p><a href="sip:example@test.com" rel="noopener noreferrer" target="_blank">example@test.com</a></p>\n'
77
+ '<p>\u200B<a href="sip:example@test.com" rel="noopener noreferrer" target="_blank">example@test.com</a>\u200B</p>\n'
78
78
  );
79
79
  });
80
80
 
@@ -82,7 +82,7 @@ describe('renderMarkdown', () => {
82
82
  const styleOptions = { markdownRespectCRLF: true };
83
83
 
84
84
  expect(renderMarkdown(`[(505)503-4455](tel:505-503-4455)`, styleOptions)).toBe(
85
- '<p><a href="tel:505-503-4455" rel="noopener noreferrer" target="_blank">(505)503-4455</a></p>\n'
85
+ '<p>\u200B<a href="tel:505-503-4455" rel="noopener noreferrer" target="_blank">(505)503-4455</a>\u200B</p>\n'
86
86
  );
87
87
  });
88
88