@payloadcms/richtext-slate 1.0.0 → 1.0.2

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 +1 @@
1
- {"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../src/field/RichText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,OAAO,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAM9C,OAAO,KAA4D,MAAM,OAAO,CAAA;AAMhF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAiC,QAAQ,EAAE,MAAM,UAAU,CAAA;AAQhG,OAAO,cAAc,CAAA;AAyBrB,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,WAAW;QACnB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,CAAA;QAChD,OAAO,EAAE,WAAW,CAAA;QACpB,IAAI,EAAE,QAAQ,CAAA;KACf;CACF;;AA2YD,wBAAsC"}
1
+ {"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../src/field/RichText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,OAAO,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAM9C,OAAO,KAA4D,MAAM,OAAO,CAAA;AAMhF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAiC,QAAQ,EAAE,MAAM,UAAU,CAAA;AAQhG,OAAO,cAAc,CAAA;AAyBrB,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,WAAW;QACnB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,CAAA;QAChD,OAAO,EAAE,WAAW,CAAA;QACpB,IAAI,EAAE,QAAQ,CAAA;KACf;CACF;;AA6YD,wBAAsC"}
@@ -380,7 +380,7 @@ const RichText = (props)=>{
380
380
  value: valueToRender
381
381
  }, /*#__PURE__*/ _react.default.createElement("div", {
382
382
  className: `${baseClass}__wrapper`
383
- }, /*#__PURE__*/ _react.default.createElement("div", {
383
+ }, elements?.length + leaves?.length > 0 && /*#__PURE__*/ _react.default.createElement("div", {
384
384
  className: [
385
385
  `${baseClass}__toolbar`,
386
386
  drawerIsOpen && `${baseClass}__drawerIsOpen`
@@ -489,4 +489,4 @@ const RichText = (props)=>{
489
489
  };
490
490
  const _default = (0, _forms.withCondition)(RichText);
491
491
 
492
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZC9SaWNoVGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlRWRpdG9yLCBCYXNlT3BlcmF0aW9uIH0gZnJvbSAnc2xhdGUnXG5pbXBvcnQgdHlwZSB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5J1xuaW1wb3J0IHR5cGUgeyBSZWFjdEVkaXRvciB9IGZyb20gJ3NsYXRlLXJlYWN0J1xuXG5pbXBvcnQgaXNIb3RrZXkgZnJvbSAnaXMtaG90a2V5J1xuaW1wb3J0IHsgRXJyb3IsIEZpZWxkRGVzY3JpcHRpb24sIExhYmVsLCB1c2VGaWVsZCwgd2l0aENvbmRpdGlvbiB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy9mb3JtcydcbmltcG9ydCB7IHVzZUVkaXREZXB0aCB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy91dGlsaXRpZXMnXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IE5vZGUsIEVsZW1lbnQgYXMgU2xhdGVFbGVtZW50LCBUZXh0LCBUcmFuc2Zvcm1zLCBjcmVhdGVFZGl0b3IgfSBmcm9tICdzbGF0ZSdcbmltcG9ydCB7IHdpdGhIaXN0b3J5IH0gZnJvbSAnc2xhdGUtaGlzdG9yeSdcbmltcG9ydCB7IEVkaXRhYmxlLCBTbGF0ZSwgd2l0aFJlYWN0IH0gZnJvbSAnc2xhdGUtcmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgRWxlbWVudE5vZGUsIEZpZWxkUHJvcHMsIFJpY2hUZXh0RWxlbWVudCwgUmljaFRleHRMZWFmLCBUZXh0Tm9kZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWZhdWx0UmljaFRleHRWYWx1ZSB9IGZyb20gJy4uL2RhdGEvZGVmYXVsdFZhbHVlJ1xuaW1wb3J0IHsgcmljaFRleHRWYWxpZGF0ZSB9IGZyb20gJy4uL2RhdGEvdmFsaWRhdGlvbidcbmltcG9ydCBlbGVtZW50VHlwZXMgZnJvbSAnLi9lbGVtZW50cydcbmltcG9ydCBsaXN0VHlwZXMgZnJvbSAnLi9lbGVtZW50cy9saXN0VHlwZXMnXG5pbXBvcnQgZW5hYmxlUGx1Z2lucyBmcm9tICcuL2VuYWJsZVBsdWdpbnMnXG5pbXBvcnQgaG90a2V5cyBmcm9tICcuL2hvdGtleXMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCBsZWFmVHlwZXMgZnJvbSAnLi9sZWF2ZXMnXG5pbXBvcnQgdG9nZ2xlTGVhZiBmcm9tICcuL2xlYXZlcy90b2dnbGUnXG5pbXBvcnQgbWVyZ2VDdXN0b21GdW5jdGlvbnMgZnJvbSAnLi9tZXJnZUN1c3RvbUZ1bmN0aW9ucydcbmltcG9ydCB3aXRoRW50ZXJCcmVha091dCBmcm9tICcuL3BsdWdpbnMvd2l0aEVudGVyQnJlYWtPdXQnXG5pbXBvcnQgd2l0aEhUTUwgZnJvbSAnLi9wbHVnaW5zL3dpdGhIVE1MJ1xuXG5jb25zdCBkZWZhdWx0RWxlbWVudHM6IFJpY2hUZXh0RWxlbWVudFtdID0gW1xuICAnaDEnLFxuICAnaDInLFxuICAnaDMnLFxuICAnaDQnLFxuICAnaDUnLFxuICAnaDYnLFxuICAndWwnLFxuICAnb2wnLFxuICAnaW5kZW50JyxcbiAgJ2xpbmsnLFxuICAncmVsYXRpb25zaGlwJyxcbiAgJ3VwbG9hZCcsXG5dXG5jb25zdCBkZWZhdWx0TGVhdmVzOiBSaWNoVGV4dExlYWZbXSA9IFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZXRocm91Z2gnLCAnY29kZSddXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdyaWNoLXRleHQnXG5cbmRlY2xhcmUgbW9kdWxlICdzbGF0ZScge1xuICBpbnRlcmZhY2UgQ3VzdG9tVHlwZXMge1xuICAgIEVkaXRvcjogQmFzZUVkaXRvciAmIFJlYWN0RWRpdG9yICYgSGlzdG9yeUVkaXRvclxuICAgIEVsZW1lbnQ6IEVsZW1lbnROb2RlXG4gICAgVGV4dDogVGV4dE5vZGVcbiAgfVxufVxuXG5jb25zdCBSaWNoVGV4dDogUmVhY3QuRkM8RmllbGRQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG5hbWUsXG4gICAgYWRtaW46IHtcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbmRpdGlvbixcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgaGlkZUd1dHRlcixcbiAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgcmVhZE9ubHksXG4gICAgICBzdHlsZSxcbiAgICAgIHdpZHRoLFxuICAgIH0gPSB7XG4gICAgICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgICAgIGNvbmRpdGlvbjogdW5kZWZpbmVkLFxuICAgICAgZGVzY3JpcHRpb246IHVuZGVmaW5lZCxcbiAgICAgIGhpZGVHdXR0ZXI6IHVuZGVmaW5lZCxcbiAgICAgIHBsYWNlaG9sZGVyOiB1bmRlZmluZWQsXG4gICAgICByZWFkT25seTogdW5kZWZpbmVkLFxuICAgICAgc3R5bGU6IHVuZGVmaW5lZCxcbiAgICAgIHdpZHRoOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgICBhZG1pbixcbiAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRWYWx1ZUZyb21Qcm9wcyxcbiAgICBsYWJlbCxcbiAgICBwYXRoOiBwYXRoRnJvbVByb3BzLFxuICAgIHJlcXVpcmVkLFxuICAgIHZhbGlkYXRlID0gcmljaFRleHRWYWxpZGF0ZSxcbiAgfSA9IHByb3BzXG5cbiAgY29uc3QgZWxlbWVudHM6IFJpY2hUZXh0RWxlbWVudFtdID0gYWRtaW4/LmVsZW1lbnRzIHx8IGRlZmF1bHRFbGVtZW50c1xuICBjb25zdCBsZWF2ZXM6IFJpY2hUZXh0TGVhZltdID0gYWRtaW4/LmxlYXZlcyB8fCBkZWZhdWx0TGVhdmVzXG5cbiAgY29uc3QgcGF0aCA9IHBhdGhGcm9tUHJvcHMgfHwgbmFtZVxuXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCBbbG9hZGVkLCBzZXRMb2FkZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlbmFibGVkRWxlbWVudHMsIHNldEVuYWJsZWRFbGVtZW50c10gPSB1c2VTdGF0ZSh7fSlcbiAgY29uc3QgW2VuYWJsZWRMZWF2ZXMsIHNldEVuYWJsZWRMZWF2ZXNdID0gdXNlU3RhdGUoe30pXG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZihudWxsKVxuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpXG5cbiAgY29uc3QgZHJhd2VyRGVwdGggPSB1c2VFZGl0RGVwdGgoKVxuICBjb25zdCBkcmF3ZXJJc09wZW4gPSBkcmF3ZXJEZXB0aCA+IDFcblxuICBjb25zdCByZW5kZXJFbGVtZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgYXR0cmlidXRlcywgY2hpbGRyZW4sIGVsZW1lbnQgfSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlZEVsZW1lbnQgPSBlbmFibGVkRWxlbWVudHNbZWxlbWVudC50eXBlXVxuICAgICAgY29uc3QgRWxlbWVudCA9IG1hdGNoZWRFbGVtZW50Py5FbGVtZW50XG5cbiAgICAgIGxldCBhdHRyID0geyAuLi5hdHRyaWJ1dGVzIH1cblxuICAgICAgLy8gdGhpcyBjb252ZXJ0cyB0ZXh0IGFsaWdubWVudCB0byBtYXJnaW4gd2hlbiBkZWFsaW5nIHdpdGggdm9pZCBlbGVtZW50c1xuICAgICAgaWYgKGVsZW1lbnQudGV4dEFsaWduKSB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGVsZW1lbnQudHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgICAgICBzd2l0Y2ggKGVsZW1lbnQudGV4dEFsaWduKSB7XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgbWFyZ2luUmlnaHQ6ICdhdXRvJyB9IH1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgbWFyZ2luTGVmdDogJ2F1dG8nIH0gfVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgbWFyZ2luTGVmdDogJ2F1dG8nLCBtYXJnaW5SaWdodDogJ2F1dG8nIH0gfVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgdGV4dEFsaWduOiBlbGVtZW50LnRleHRBbGlnbiB9IH1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC50eXBlID09PSAnbGknKSB7XG4gICAgICAgICAgc3dpdGNoIChlbGVtZW50LnRleHRBbGlnbikge1xuICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICBhdHRyID0geyAuLi5hdHRyLCBzdHlsZTogeyBsaXN0U3R5bGVQb3NpdGlvbjogJ2luc2lkZScsIHRleHRBbGlnbjogJ3JpZ2h0JyB9IH1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgICAgICAgIGF0dHIgPSB7IC4uLmF0dHIsIHN0eWxlOiB7IGxpc3RTdHlsZVBvc2l0aW9uOiAnaW5zaWRlJywgdGV4dEFsaWduOiAnY2VudGVyJyB9IH1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgbGlzdFN0eWxlUG9zaXRpb246ICdvdXRzaWRlJywgdGV4dEFsaWduOiAnbGVmdCcgfSB9XG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF0dHIgPSB7IC4uLmF0dHIsIHN0eWxlOiB7IHRleHRBbGlnbjogZWxlbWVudC50ZXh0QWxpZ24gfSB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgZWwgPSAoXG4gICAgICAgICAgPEVsZW1lbnRcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM9e2F0dHJ9XG4gICAgICAgICAgICBlZGl0b3JSZWY9e2VkaXRvclJlZn1cbiAgICAgICAgICAgIGVsZW1lbnQ9e2VsZW1lbnR9XG4gICAgICAgICAgICBmaWVsZFByb3BzPXtwcm9wc31cbiAgICAgICAgICAgIHBhdGg9e3BhdGh9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvRWxlbWVudD5cbiAgICAgICAgKVxuXG4gICAgICAgIHJldHVybiBlbFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gPGRpdiB7Li4uYXR0cn0+e2NoaWxkcmVufTwvZGl2PlxuICAgIH0sXG4gICAgW2VuYWJsZWRFbGVtZW50cywgcGF0aCwgcHJvcHNdLFxuICApXG5cbiAgY29uc3QgcmVuZGVyTGVhZiA9IHVzZUNhbGxiYWNrKFxuICAgICh7IGF0dHJpYnV0ZXMsIGNoaWxkcmVuLCBsZWFmIH0pID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoZWRMZWF2ZXMgPSBPYmplY3QuZW50cmllcyhlbmFibGVkTGVhdmVzKS5maWx0ZXIoKFtsZWFmTmFtZV0pID0+IGxlYWZbbGVhZk5hbWVdKVxuXG4gICAgICBpZiAobWF0Y2hlZExlYXZlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBtYXRjaGVkTGVhdmVzLnJlZHVjZShcbiAgICAgICAgICAocmVzdWx0LCBbbGVhZk5hbWVdLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAoZW5hYmxlZExlYXZlc1tsZWFmTmFtZV0/LkxlYWYpIHtcbiAgICAgICAgICAgICAgY29uc3QgTGVhZiA9IGVuYWJsZWRMZWF2ZXNbbGVhZk5hbWVdPy5MZWFmXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPExlYWYgZWRpdG9yUmVmPXtlZGl0b3JSZWZ9IGZpZWxkUHJvcHM9e3Byb3BzfSBrZXk9e2l9IGxlYWY9e2xlYWZ9IHBhdGg9e3BhdGh9PlxuICAgICAgICAgICAgICAgICAge3Jlc3VsdH1cbiAgICAgICAgICAgICAgICA8L0xlYWY+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICAgIH0sXG4gICAgICAgICAgPHNwYW4gey4uLmF0dHJpYnV0ZXN9PntjaGlsZHJlbn08L3NwYW4+LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiA8c3BhbiB7Li4uYXR0cmlidXRlc30+e2NoaWxkcmVufTwvc3Bhbj5cbiAgICB9LFxuICAgIFtlbmFibGVkTGVhdmVzLCBwYXRoLCBwcm9wc10sXG4gIClcblxuICBjb25zdCBtZW1vaXplZFZhbGlkYXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlLCB2YWxpZGF0aW9uT3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIHZhbGlkYXRlKHZhbHVlLCB7IC4uLnZhbGlkYXRpb25PcHRpb25zLCByZXF1aXJlZCB9KVxuICAgIH0sXG4gICAgW3ZhbGlkYXRlLCByZXF1aXJlZF0sXG4gIClcblxuICBjb25zdCBmaWVsZFR5cGUgPSB1c2VGaWVsZCh7XG4gICAgY29uZGl0aW9uLFxuICAgIHBhdGgsXG4gICAgdmFsaWRhdGU6IG1lbW9pemVkVmFsaWRhdGUsXG4gIH0pXG5cbiAgY29uc3QgeyBlcnJvck1lc3NhZ2UsIGluaXRpYWxWYWx1ZSwgc2V0VmFsdWUsIHNob3dFcnJvciwgdmFsdWUgfSA9IGZpZWxkVHlwZVxuXG4gIGNvbnN0IGNsYXNzZXMgPSBbXG4gICAgYmFzZUNsYXNzLFxuICAgICdmaWVsZC10eXBlJyxcbiAgICBjbGFzc05hbWUsXG4gICAgc2hvd0Vycm9yICYmICdlcnJvcicsXG4gICAgcmVhZE9ubHkgJiYgYCR7YmFzZUNsYXNzfS0tcmVhZC1vbmx5YCxcbiAgICAhaGlkZUd1dHRlciAmJiBgJHtiYXNlQ2xhc3N9LS1ndXR0ZXJgLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICBjb25zdCBlZGl0b3IgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgQ3JlYXRlZEVkaXRvciA9IHdpdGhFbnRlckJyZWFrT3V0KHdpdGhIaXN0b3J5KHdpdGhSZWFjdChjcmVhdGVFZGl0b3IoKSkpKVxuXG4gICAgQ3JlYXRlZEVkaXRvciA9IHdpdGhIVE1MKENyZWF0ZWRFZGl0b3IpXG4gICAgQ3JlYXRlZEVkaXRvciA9IGVuYWJsZVBsdWdpbnMoQ3JlYXRlZEVkaXRvciwgZWxlbWVudHMpXG4gICAgQ3JlYXRlZEVkaXRvciA9IGVuYWJsZVBsdWdpbnMoQ3JlYXRlZEVkaXRvciwgbGVhdmVzKVxuXG4gICAgcmV0dXJuIENyZWF0ZWRFZGl0b3JcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtlbGVtZW50cywgbGVhdmVzLCBwYXRoXSlcblxuICAvLyBBbGwgc2xhdGUgY2hhbmdlcyBmaXJlIHRoZSBvbkNoYW5nZSBldmVudFxuICAvLyBpbmNsdWRpbmcgc2VsZWN0aW9uIGNoYW5nZXNcbiAgLy8gc28gd2Ugd2lsbCBmaWx0ZXIgdGhlIHNldF9zZWxlY3Rpb24gb3BlcmF0aW9ucyBvdXRcbiAgLy8gYW5kIG9ubHkgZmlyZSBzZXRWYWx1ZSB3aGVuIG9uQ2hhbmdlIGlzIGJlY2F1c2Ugb2YgdmFsdWVcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbDogdW5rbm93bikgPT4ge1xuICAgICAgY29uc3Qgb3BzID0gZWRpdG9yLm9wZXJhdGlvbnMuZmlsdGVyKChvOiBCYXNlT3BlcmF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChvKSB7XG4gICAgICAgICAgcmV0dXJuIG8udHlwZSAhPT0gJ3NldF9zZWxlY3Rpb24nXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9KVxuXG4gICAgICBpZiAob3BzICYmIEFycmF5LmlzQXJyYXkob3BzKSAmJiBvcHMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoIXJlYWRPbmx5ICYmIHZhbCAhPT0gZGVmYXVsdFJpY2hUZXh0VmFsdWUgJiYgdmFsICE9PSB2YWx1ZSkge1xuICAgICAgICAgIHNldFZhbHVlKHZhbClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2VkaXRvci5vcGVyYXRpb25zLCByZWFkT25seSwgc2V0VmFsdWUsIHZhbHVlXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsb2FkZWQpIHtcbiAgICAgIGNvbnN0IG1lcmdlZEVsZW1lbnRzID0gbWVyZ2VDdXN0b21GdW5jdGlvbnMoZWxlbWVudHMsIGVsZW1lbnRUeXBlcylcbiAgICAgIGNvbnN0IG1lcmdlZExlYXZlcyA9IG1lcmdlQ3VzdG9tRnVuY3Rpb25zKGxlYXZlcywgbGVhZlR5cGVzKVxuXG4gICAgICBzZXRFbmFibGVkRWxlbWVudHMobWVyZ2VkRWxlbWVudHMpXG4gICAgICBzZXRFbmFibGVkTGVhdmVzKG1lcmdlZExlYXZlcylcblxuICAgICAgc2V0TG9hZGVkKHRydWUpXG4gICAgfVxuICB9LCBbbG9hZGVkLCBlbGVtZW50cywgbGVhdmVzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIHNldENsaWNrYWJsZVN0YXRlKGNsaWNrU3RhdGU6ICdkaXNhYmxlZCcgfCAnZW5hYmxlZCcpIHtcbiAgICAgIGNvbnN0IHNlbGVjdG9ycyA9ICdidXR0b24sIGEsIFtyb2xlPVwiYnV0dG9uXCJdJ1xuICAgICAgY29uc3QgdG9vbGJhckJ1dHRvbnM6IChIVE1MQW5jaG9yRWxlbWVudCB8IEhUTUxCdXR0b25FbGVtZW50KVtdID1cbiAgICAgICAgdG9vbGJhclJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9ycylcblxuICAgICAgOyh0b29sYmFyQnV0dG9ucyB8fCBbXSkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgY29uc3QgaXNCdXR0b24gPSBjaGlsZC50YWdOYW1lID09PSAnQlVUVE9OJ1xuICAgICAgICBjb25zdCBpc0Rpc2FibGluZyA9IGNsaWNrU3RhdGUgPT09ICdkaXNhYmxlZCdcbiAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCd0YWJJbmRleCcsIGlzRGlzYWJsaW5nID8gJy0xJyA6ICcwJylcbiAgICAgICAgaWYgKGlzQnV0dG9uKSBjaGlsZC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgaXNEaXNhYmxpbmcgPyAnZGlzYWJsZWQnIDogbnVsbClcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGxvYWRlZCAmJiByZWFkT25seSkge1xuICAgICAgc2V0Q2xpY2thYmxlU3RhdGUoJ2Rpc2FibGVkJylcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRlZCAmJiByZWFkT25seSkge1xuICAgICAgICBzZXRDbGlja2FibGVTdGF0ZSgnZW5hYmxlZCcpXG4gICAgICB9XG4gICAgfVxuICB9LCBbbG9hZGVkLCByZWFkT25seV0pXG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICAvLyBJZiB0aGVyZSBpcyBhIGNoYW5nZSB0byB0aGUgaW5pdGlhbCB2YWx1ZSwgd2UgbmVlZCB0byByZXNldCBTbGF0ZSBoaXN0b3J5XG4gIC8vICAgLy8gYW5kIGNsZWFyIHNlbGVjdGlvbiBiZWNhdXNlIHRoZSBvbGQgc2VsZWN0aW9uIG1heSBubyBsb25nZXIgYmUgdmFsaWRcbiAgLy8gICAvLyBhcyByZXR1cm5lZCBKU09OIG1heSBiZSBtb2RpZmllZCBpbiBob29rcyBhbmQgaGF2ZSBhIGRpZmZlcmVudCBzaGFwZVxuICAvLyAgIGlmIChlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gIC8vICAgICBjb25zb2xlLmxvZygnZGVzZWxlY3RpbmcnKTtcbiAgLy8gICAgIFJlYWN0RWRpdG9yLmRlc2VsZWN0KGVkaXRvcik7XG4gIC8vICAgfVxuICAvLyB9LCBbcGF0aCwgZWRpdG9yXSk7XG5cbiAgaWYgKCFsb2FkZWQpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgbGV0IHZhbHVlVG9SZW5kZXIgPSB2YWx1ZVxuXG4gIGlmICh0eXBlb2YgdmFsdWVUb1JlbmRlciA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkSlNPTiA9IEpTT04ucGFyc2UodmFsdWVUb1JlbmRlcilcbiAgICAgIHZhbHVlVG9SZW5kZXIgPSBwYXJzZWRKU09OXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB2YWx1ZVRvUmVuZGVyID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGlmICghdmFsdWVUb1JlbmRlcikgdmFsdWVUb1JlbmRlciA9IGRlZmF1bHRWYWx1ZUZyb21Qcm9wcyB8fCBkZWZhdWx0UmljaFRleHRWYWx1ZVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgIHdpZHRoLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcGB9PlxuICAgICAgICA8RXJyb3IgbWVzc2FnZT17ZXJyb3JNZXNzYWdlfSBzaG93RXJyb3I9e3Nob3dFcnJvcn0gLz5cbiAgICAgICAgPExhYmVsIGh0bWxGb3I9e2BmaWVsZC0ke3BhdGgucmVwbGFjZSgvXFwuL2csICdfXycpfWB9IGxhYmVsPXtsYWJlbH0gcmVxdWlyZWQ9e3JlcXVpcmVkfSAvPlxuICAgICAgICA8U2xhdGVcbiAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICBrZXk9e0pTT04uc3RyaW5naWZ5KHsgaW5pdGlhbFZhbHVlLCBwYXRoIH0pfVxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlVG9SZW5kZXIgYXMgYW55W119XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcHBlcmB9PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e1tgJHtiYXNlQ2xhc3N9X190b29sYmFyYCwgZHJhd2VySXNPcGVuICYmIGAke2Jhc2VDbGFzc31fX2RyYXdlcklzT3BlbmBdXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgICAgIC5qb2luKCcgJyl9XG4gICAgICAgICAgICAgIHJlZj17dG9vbGJhclJlZn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3Rvb2xiYXItd3JhcGB9PlxuICAgICAgICAgICAgICAgIHtlbGVtZW50cy5tYXAoKGVsZW1lbnQsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGxldCBlbGVtZW50TmFtZTogc3RyaW5nXG4gICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnQgPT09ICdvYmplY3QnICYmIGVsZW1lbnQ/Lm5hbWUpIGVsZW1lbnROYW1lID0gZWxlbWVudC5uYW1lXG4gICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnQgPT09ICdzdHJpbmcnKSBlbGVtZW50TmFtZSA9IGVsZW1lbnRcblxuICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFR5cGUgPSBlbmFibGVkRWxlbWVudHNbZWxlbWVudE5hbWVdXG4gICAgICAgICAgICAgICAgICBjb25zdCBCdXR0b24gPSBlbGVtZW50VHlwZT8uQnV0dG9uXG5cbiAgICAgICAgICAgICAgICAgIGlmIChCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxCdXR0b24gZmllbGRQcm9wcz17cHJvcHN9IGtleT17aX0gcGF0aD17cGF0aH0gLz5cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICB7bGVhdmVzLm1hcCgobGVhZiwgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgbGV0IGxlYWZOYW1lOiBzdHJpbmdcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbGVhZiA9PT0gJ29iamVjdCcgJiYgbGVhZj8ubmFtZSkgbGVhZk5hbWUgPSBsZWFmLm5hbWVcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbGVhZiA9PT0gJ3N0cmluZycpIGxlYWZOYW1lID0gbGVhZlxuXG4gICAgICAgICAgICAgICAgICBjb25zdCBsZWFmVHlwZSA9IGVuYWJsZWRMZWF2ZXNbbGVhZk5hbWVdXG4gICAgICAgICAgICAgICAgICBjb25zdCBCdXR0b24gPSBsZWFmVHlwZT8uQnV0dG9uXG5cbiAgICAgICAgICAgICAgICAgIGlmIChCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxCdXR0b24gZmllbGRQcm9wcz17cHJvcHN9IGtleT17aX0gcGF0aD17cGF0aH0gLz5cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lZGl0b3JgfSByZWY9e2VkaXRvclJlZn0+XG4gICAgICAgICAgICAgIDxFZGl0YWJsZVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faW5wdXRgfVxuICAgICAgICAgICAgICAgIGlkPXtgZmllbGQtJHtwYXRoLnJlcGxhY2UoL1xcLi9nLCAnX18nKX1gfVxuICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dCgnXFxuJylcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSBOb2RlLmRlc2NlbmRhbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoLnNsaWNlKDAsIC0xKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAoU2xhdGVFbGVtZW50LmlzRWxlbWVudChzZWxlY3RlZEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBbGxvdyBoYXJkIGVudGVyIHRvIFwiYnJlYWsgb3V0XCIgb2YgY2VydGFpbiBlbGVtZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVkaXRvci5zaG91bGRCcmVha091dE9uRW50ZXIoc2VsZWN0ZWRFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTGVhZiA9IE5vZGUuZGVzY2VuZGFudChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHQuaXNUZXh0KHNlbGVjdGVkTGVhZikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcoc2VsZWN0ZWRMZWFmLnRleHQpLmxlbmd0aCA9PT0gZWRpdG9yLnNlbGVjdGlvbi5hbmNob3Iub2Zmc2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCB7IGNoaWxkcmVuOiBbeyB0ZXh0OiAnJyB9XSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc3BsaXROb2RlcyhlZGl0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHt9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IE5vZGUuZGVzY2VuZGFudChcbiAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IucGF0aC5zbGljZSgwLCAtMSksXG4gICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICBpZiAoU2xhdGVFbGVtZW50LmlzRWxlbWVudChzZWxlY3RlZEVsZW1lbnQpICYmIHNlbGVjdGVkRWxlbWVudC50eXBlID09PSAnbGknKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRMZWFmID0gTm9kZS5kZXNjZW5kYW50KGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IucGF0aClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoVGV4dC5pc1RleHQoc2VsZWN0ZWRMZWFmKSAmJiBTdHJpbmcoc2VsZWN0ZWRMZWFmLnRleHQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IChuKSA9PiBTbGF0ZUVsZW1lbnQuaXNFbGVtZW50KG4pICYmIGxpc3RUeXBlcy5pbmNsdWRlcyhuLnR5cGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiAnbG93ZXN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyB0eXBlOiB1bmRlZmluZWQgfSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZWRpdG9yLmlzVm9pZChzZWxlY3RlZEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoaG90a2V5cykuZm9yRWFjaCgoaG90a2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0hvdGtleShob3RrZXksIGV2ZW50IGFzIGFueSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFyayA9IGhvdGtleXNbaG90a2V5XVxuICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUxlYWYoZWRpdG9yLCBtYXJrKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2dldFRyYW5zbGF0aW9uKHBsYWNlaG9sZGVyLCBpMThuKX1cbiAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICByZW5kZXJMZWFmPXtyZW5kZXJMZWFmfVxuICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2tcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1NsYXRlPlxuICAgICAgICA8RmllbGREZXNjcmlwdGlvbiBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IHZhbHVlPXt2YWx1ZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5leHBvcnQgZGVmYXVsdCB3aXRoQ29uZGl0aW9uKFJpY2hUZXh0KVxuIl0sIm5hbWVzIjpbImRlZmF1bHRFbGVtZW50cyIsImRlZmF1bHRMZWF2ZXMiLCJiYXNlQ2xhc3MiLCJSaWNoVGV4dCIsInByb3BzIiwibmFtZSIsImFkbWluIiwiY2xhc3NOYW1lIiwiY29uZGl0aW9uIiwiZGVzY3JpcHRpb24iLCJoaWRlR3V0dGVyIiwicGxhY2Vob2xkZXIiLCJyZWFkT25seSIsInN0eWxlIiwid2lkdGgiLCJ1bmRlZmluZWQiLCJkZWZhdWx0VmFsdWUiLCJkZWZhdWx0VmFsdWVGcm9tUHJvcHMiLCJsYWJlbCIsInBhdGgiLCJwYXRoRnJvbVByb3BzIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZSIsInJpY2hUZXh0VmFsaWRhdGUiLCJlbGVtZW50cyIsImxlYXZlcyIsImkxOG4iLCJ1c2VUcmFuc2xhdGlvbiIsImxvYWRlZCIsInNldExvYWRlZCIsInVzZVN0YXRlIiwiZW5hYmxlZEVsZW1lbnRzIiwic2V0RW5hYmxlZEVsZW1lbnRzIiwiZW5hYmxlZExlYXZlcyIsInNldEVuYWJsZWRMZWF2ZXMiLCJlZGl0b3JSZWYiLCJ1c2VSZWYiLCJ0b29sYmFyUmVmIiwiZHJhd2VyRGVwdGgiLCJ1c2VFZGl0RGVwdGgiLCJkcmF3ZXJJc09wZW4iLCJyZW5kZXJFbGVtZW50IiwidXNlQ2FsbGJhY2siLCJhdHRyaWJ1dGVzIiwiY2hpbGRyZW4iLCJlbGVtZW50IiwibWF0Y2hlZEVsZW1lbnQiLCJ0eXBlIiwiRWxlbWVudCIsImF0dHIiLCJ0ZXh0QWxpZ24iLCJtYXJnaW5SaWdodCIsIm1hcmdpbkxlZnQiLCJsaXN0U3R5bGVQb3NpdGlvbiIsImVsIiwiZmllbGRQcm9wcyIsImRpdiIsInJlbmRlckxlYWYiLCJsZWFmIiwibWF0Y2hlZExlYXZlcyIsIk9iamVjdCIsImVudHJpZXMiLCJmaWx0ZXIiLCJsZWFmTmFtZSIsImxlbmd0aCIsInJlZHVjZSIsInJlc3VsdCIsImkiLCJMZWFmIiwia2V5Iiwic3BhbiIsIm1lbW9pemVkVmFsaWRhdGUiLCJ2YWx1ZSIsInZhbGlkYXRpb25PcHRpb25zIiwiZmllbGRUeXBlIiwidXNlRmllbGQiLCJlcnJvck1lc3NhZ2UiLCJpbml0aWFsVmFsdWUiLCJzZXRWYWx1ZSIsInNob3dFcnJvciIsImNsYXNzZXMiLCJCb29sZWFuIiwiam9pbiIsImVkaXRvciIsInVzZU1lbW8iLCJDcmVhdGVkRWRpdG9yIiwid2l0aEVudGVyQnJlYWtPdXQiLCJ3aXRoSGlzdG9yeSIsIndpdGhSZWFjdCIsImNyZWF0ZUVkaXRvciIsIndpdGhIVE1MIiwiZW5hYmxlUGx1Z2lucyIsImhhbmRsZUNoYW5nZSIsInZhbCIsIm9wcyIsIm9wZXJhdGlvbnMiLCJvIiwiQXJyYXkiLCJpc0FycmF5IiwiZGVmYXVsdFJpY2hUZXh0VmFsdWUiLCJ1c2VFZmZlY3QiLCJtZXJnZWRFbGVtZW50cyIsIm1lcmdlQ3VzdG9tRnVuY3Rpb25zIiwiZWxlbWVudFR5cGVzIiwibWVyZ2VkTGVhdmVzIiwibGVhZlR5cGVzIiwic2V0Q2xpY2thYmxlU3RhdGUiLCJjbGlja1N0YXRlIiwic2VsZWN0b3JzIiwidG9vbGJhckJ1dHRvbnMiLCJjdXJyZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJjaGlsZCIsImlzQnV0dG9uIiwidGFnTmFtZSIsImlzRGlzYWJsaW5nIiwic2V0QXR0cmlidXRlIiwidmFsdWVUb1JlbmRlciIsInBhcnNlZEpTT04iLCJKU09OIiwicGFyc2UiLCJlcnIiLCJFcnJvciIsIm1lc3NhZ2UiLCJMYWJlbCIsImh0bWxGb3IiLCJyZXBsYWNlIiwiU2xhdGUiLCJzdHJpbmdpZnkiLCJvbkNoYW5nZSIsInJlZiIsIm1hcCIsImVsZW1lbnROYW1lIiwiZWxlbWVudFR5cGUiLCJCdXR0b24iLCJsZWFmVHlwZSIsIkVkaXRhYmxlIiwiaWQiLCJvbktleURvd24iLCJldmVudCIsInNoaWZ0S2V5IiwicHJldmVudERlZmF1bHQiLCJpbnNlcnRUZXh0Iiwic2VsZWN0ZWRFbGVtZW50IiwiTm9kZSIsImRlc2NlbmRhbnQiLCJzZWxlY3Rpb24iLCJhbmNob3IiLCJzbGljZSIsIlNsYXRlRWxlbWVudCIsImlzRWxlbWVudCIsInNob3VsZEJyZWFrT3V0T25FbnRlciIsInNlbGVjdGVkTGVhZiIsIlRleHQiLCJpc1RleHQiLCJTdHJpbmciLCJ0ZXh0Iiwib2Zmc2V0IiwiVHJhbnNmb3JtcyIsImluc2VydE5vZGVzIiwic3BsaXROb2RlcyIsInNldE5vZGVzIiwidW53cmFwTm9kZXMiLCJtYXRjaCIsIm4iLCJsaXN0VHlwZXMiLCJpbmNsdWRlcyIsIm1vZGUiLCJzcGxpdCIsImlzVm9pZCIsInJlbW92ZU5vZGVzIiwia2V5cyIsImhvdGtleXMiLCJob3RrZXkiLCJpc0hvdGtleSIsIm1hcmsiLCJ0b2dnbGVMZWFmIiwiZ2V0VHJhbnNsYXRpb24iLCJzcGVsbENoZWNrIiwiRmllbGREZXNjcmlwdGlvbiIsIndpdGhDb25kaXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ2NBOzs7ZUFBQTs7O2lFQTVicUI7dUJBQ21EOzJCQUMzQzs0QkFDRTsrREFDMEM7OEJBQzFDO3VCQUMrQzs4QkFDbEQ7NEJBQ2U7OEJBSU47NEJBQ0o7aUVBQ1I7a0VBQ0g7c0VBQ0k7Z0VBQ047UUFDYjsrREFDZTsrREFDQzs2RUFDVTswRUFDSDtpRUFDVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLE1BQU1BLGtCQUFxQztJQUN6QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUNELE1BQU1DLGdCQUFnQztJQUFDO0lBQVE7SUFBVTtJQUFhO0lBQWlCO0NBQU87QUFFOUYsTUFBTUMsWUFBWTtBQVVsQixNQUFNQyxXQUFpQyxDQUFDQztJQUN0QyxNQUFNLEVBQ0pDLElBQUksRUFDSkMsT0FBTyxFQUNMQyxTQUFTLEVBQ1RDLFNBQVMsRUFDVEMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsUUFBUSxFQUNSQyxLQUFLLEVBQ0xDLEtBQUssRUFDTixHQUFHO1FBQ0ZQLFdBQVdRO1FBQ1hQLFdBQVdPO1FBQ1hOLGFBQWFNO1FBQ2JMLFlBQVlLO1FBQ1pKLGFBQWFJO1FBQ2JILFVBQVVHO1FBQ1ZGLE9BQU9FO1FBQ1BELE9BQU9DO0lBQ1QsQ0FBQyxFQUNEVCxLQUFLLEVBQ0xVLGNBQWNDLHFCQUFxQixFQUNuQ0MsS0FBSyxFQUNMQyxNQUFNQyxhQUFhLEVBQ25CQyxRQUFRLEVBQ1JDLFdBQVdDLDRCQUFnQixFQUM1QixHQUFHbkI7SUFFSixNQUFNb0IsV0FBOEJsQixPQUFPa0Is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
492
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZC9SaWNoVGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlRWRpdG9yLCBCYXNlT3BlcmF0aW9uIH0gZnJvbSAnc2xhdGUnXG5pbXBvcnQgdHlwZSB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5J1xuaW1wb3J0IHR5cGUgeyBSZWFjdEVkaXRvciB9IGZyb20gJ3NsYXRlLXJlYWN0J1xuXG5pbXBvcnQgaXNIb3RrZXkgZnJvbSAnaXMtaG90a2V5J1xuaW1wb3J0IHsgRXJyb3IsIEZpZWxkRGVzY3JpcHRpb24sIExhYmVsLCB1c2VGaWVsZCwgd2l0aENvbmRpdGlvbiB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy9mb3JtcydcbmltcG9ydCB7IHVzZUVkaXREZXB0aCB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy91dGlsaXRpZXMnXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IE5vZGUsIEVsZW1lbnQgYXMgU2xhdGVFbGVtZW50LCBUZXh0LCBUcmFuc2Zvcm1zLCBjcmVhdGVFZGl0b3IgfSBmcm9tICdzbGF0ZSdcbmltcG9ydCB7IHdpdGhIaXN0b3J5IH0gZnJvbSAnc2xhdGUtaGlzdG9yeSdcbmltcG9ydCB7IEVkaXRhYmxlLCBTbGF0ZSwgd2l0aFJlYWN0IH0gZnJvbSAnc2xhdGUtcmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgRWxlbWVudE5vZGUsIEZpZWxkUHJvcHMsIFJpY2hUZXh0RWxlbWVudCwgUmljaFRleHRMZWFmLCBUZXh0Tm9kZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWZhdWx0UmljaFRleHRWYWx1ZSB9IGZyb20gJy4uL2RhdGEvZGVmYXVsdFZhbHVlJ1xuaW1wb3J0IHsgcmljaFRleHRWYWxpZGF0ZSB9IGZyb20gJy4uL2RhdGEvdmFsaWRhdGlvbidcbmltcG9ydCBlbGVtZW50VHlwZXMgZnJvbSAnLi9lbGVtZW50cydcbmltcG9ydCBsaXN0VHlwZXMgZnJvbSAnLi9lbGVtZW50cy9saXN0VHlwZXMnXG5pbXBvcnQgZW5hYmxlUGx1Z2lucyBmcm9tICcuL2VuYWJsZVBsdWdpbnMnXG5pbXBvcnQgaG90a2V5cyBmcm9tICcuL2hvdGtleXMnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCBsZWFmVHlwZXMgZnJvbSAnLi9sZWF2ZXMnXG5pbXBvcnQgdG9nZ2xlTGVhZiBmcm9tICcuL2xlYXZlcy90b2dnbGUnXG5pbXBvcnQgbWVyZ2VDdXN0b21GdW5jdGlvbnMgZnJvbSAnLi9tZXJnZUN1c3RvbUZ1bmN0aW9ucydcbmltcG9ydCB3aXRoRW50ZXJCcmVha091dCBmcm9tICcuL3BsdWdpbnMvd2l0aEVudGVyQnJlYWtPdXQnXG5pbXBvcnQgd2l0aEhUTUwgZnJvbSAnLi9wbHVnaW5zL3dpdGhIVE1MJ1xuXG5jb25zdCBkZWZhdWx0RWxlbWVudHM6IFJpY2hUZXh0RWxlbWVudFtdID0gW1xuICAnaDEnLFxuICAnaDInLFxuICAnaDMnLFxuICAnaDQnLFxuICAnaDUnLFxuICAnaDYnLFxuICAndWwnLFxuICAnb2wnLFxuICAnaW5kZW50JyxcbiAgJ2xpbmsnLFxuICAncmVsYXRpb25zaGlwJyxcbiAgJ3VwbG9hZCcsXG5dXG5jb25zdCBkZWZhdWx0TGVhdmVzOiBSaWNoVGV4dExlYWZbXSA9IFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZXRocm91Z2gnLCAnY29kZSddXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdyaWNoLXRleHQnXG5cbmRlY2xhcmUgbW9kdWxlICdzbGF0ZScge1xuICBpbnRlcmZhY2UgQ3VzdG9tVHlwZXMge1xuICAgIEVkaXRvcjogQmFzZUVkaXRvciAmIFJlYWN0RWRpdG9yICYgSGlzdG9yeUVkaXRvclxuICAgIEVsZW1lbnQ6IEVsZW1lbnROb2RlXG4gICAgVGV4dDogVGV4dE5vZGVcbiAgfVxufVxuXG5jb25zdCBSaWNoVGV4dDogUmVhY3QuRkM8RmllbGRQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG5hbWUsXG4gICAgYWRtaW46IHtcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbmRpdGlvbixcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgaGlkZUd1dHRlcixcbiAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgcmVhZE9ubHksXG4gICAgICBzdHlsZSxcbiAgICAgIHdpZHRoLFxuICAgIH0gPSB7XG4gICAgICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgICAgIGNvbmRpdGlvbjogdW5kZWZpbmVkLFxuICAgICAgZGVzY3JpcHRpb246IHVuZGVmaW5lZCxcbiAgICAgIGhpZGVHdXR0ZXI6IHVuZGVmaW5lZCxcbiAgICAgIHBsYWNlaG9sZGVyOiB1bmRlZmluZWQsXG4gICAgICByZWFkT25seTogdW5kZWZpbmVkLFxuICAgICAgc3R5bGU6IHVuZGVmaW5lZCxcbiAgICAgIHdpZHRoOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgICBhZG1pbixcbiAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRWYWx1ZUZyb21Qcm9wcyxcbiAgICBsYWJlbCxcbiAgICBwYXRoOiBwYXRoRnJvbVByb3BzLFxuICAgIHJlcXVpcmVkLFxuICAgIHZhbGlkYXRlID0gcmljaFRleHRWYWxpZGF0ZSxcbiAgfSA9IHByb3BzXG5cbiAgY29uc3QgZWxlbWVudHM6IFJpY2hUZXh0RWxlbWVudFtdID0gYWRtaW4/LmVsZW1lbnRzIHx8IGRlZmF1bHRFbGVtZW50c1xuICBjb25zdCBsZWF2ZXM6IFJpY2hUZXh0TGVhZltdID0gYWRtaW4/LmxlYXZlcyB8fCBkZWZhdWx0TGVhdmVzXG5cbiAgY29uc3QgcGF0aCA9IHBhdGhGcm9tUHJvcHMgfHwgbmFtZVxuXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCBbbG9hZGVkLCBzZXRMb2FkZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlbmFibGVkRWxlbWVudHMsIHNldEVuYWJsZWRFbGVtZW50c10gPSB1c2VTdGF0ZSh7fSlcbiAgY29uc3QgW2VuYWJsZWRMZWF2ZXMsIHNldEVuYWJsZWRMZWF2ZXNdID0gdXNlU3RhdGUoe30pXG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZihudWxsKVxuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpXG5cbiAgY29uc3QgZHJhd2VyRGVwdGggPSB1c2VFZGl0RGVwdGgoKVxuICBjb25zdCBkcmF3ZXJJc09wZW4gPSBkcmF3ZXJEZXB0aCA+IDFcblxuICBjb25zdCByZW5kZXJFbGVtZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgYXR0cmlidXRlcywgY2hpbGRyZW4sIGVsZW1lbnQgfSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlZEVsZW1lbnQgPSBlbmFibGVkRWxlbWVudHNbZWxlbWVudC50eXBlXVxuICAgICAgY29uc3QgRWxlbWVudCA9IG1hdGNoZWRFbGVtZW50Py5FbGVtZW50XG5cbiAgICAgIGxldCBhdHRyID0geyAuLi5hdHRyaWJ1dGVzIH1cblxuICAgICAgLy8gdGhpcyBjb252ZXJ0cyB0ZXh0IGFsaWdubWVudCB0byBtYXJnaW4gd2hlbiBkZWFsaW5nIHdpdGggdm9pZCBlbGVtZW50c1xuICAgICAgaWYgKGVsZW1lbnQudGV4dEFsaWduKSB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGVsZW1lbnQudHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgICAgICBzd2l0Y2ggKGVsZW1lbnQudGV4dEFsaWduKSB7XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgbWFyZ2luUmlnaHQ6ICdhdXRvJyB9IH1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgbWFyZ2luTGVmdDogJ2F1dG8nIH0gfVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgbWFyZ2luTGVmdDogJ2F1dG8nLCBtYXJnaW5SaWdodDogJ2F1dG8nIH0gfVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgdGV4dEFsaWduOiBlbGVtZW50LnRleHRBbGlnbiB9IH1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC50eXBlID09PSAnbGknKSB7XG4gICAgICAgICAgc3dpdGNoIChlbGVtZW50LnRleHRBbGlnbikge1xuICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICBhdHRyID0geyAuLi5hdHRyLCBzdHlsZTogeyBsaXN0U3R5bGVQb3NpdGlvbjogJ2luc2lkZScsIHRleHRBbGlnbjogJ3JpZ2h0JyB9IH1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgICAgICAgIGF0dHIgPSB7IC4uLmF0dHIsIHN0eWxlOiB7IGxpc3RTdHlsZVBvc2l0aW9uOiAnaW5zaWRlJywgdGV4dEFsaWduOiAnY2VudGVyJyB9IH1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgYXR0ciA9IHsgLi4uYXR0ciwgc3R5bGU6IHsgbGlzdFN0eWxlUG9zaXRpb246ICdvdXRzaWRlJywgdGV4dEFsaWduOiAnbGVmdCcgfSB9XG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF0dHIgPSB7IC4uLmF0dHIsIHN0eWxlOiB7IHRleHRBbGlnbjogZWxlbWVudC50ZXh0QWxpZ24gfSB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgZWwgPSAoXG4gICAgICAgICAgPEVsZW1lbnRcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM9e2F0dHJ9XG4gICAgICAgICAgICBlZGl0b3JSZWY9e2VkaXRvclJlZn1cbiAgICAgICAgICAgIGVsZW1lbnQ9e2VsZW1lbnR9XG4gICAgICAgICAgICBmaWVsZFByb3BzPXtwcm9wc31cbiAgICAgICAgICAgIHBhdGg9e3BhdGh9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvRWxlbWVudD5cbiAgICAgICAgKVxuXG4gICAgICAgIHJldHVybiBlbFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gPGRpdiB7Li4uYXR0cn0+e2NoaWxkcmVufTwvZGl2PlxuICAgIH0sXG4gICAgW2VuYWJsZWRFbGVtZW50cywgcGF0aCwgcHJvcHNdLFxuICApXG5cbiAgY29uc3QgcmVuZGVyTGVhZiA9IHVzZUNhbGxiYWNrKFxuICAgICh7IGF0dHJpYnV0ZXMsIGNoaWxkcmVuLCBsZWFmIH0pID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoZWRMZWF2ZXMgPSBPYmplY3QuZW50cmllcyhlbmFibGVkTGVhdmVzKS5maWx0ZXIoKFtsZWFmTmFtZV0pID0+IGxlYWZbbGVhZk5hbWVdKVxuXG4gICAgICBpZiAobWF0Y2hlZExlYXZlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBtYXRjaGVkTGVhdmVzLnJlZHVjZShcbiAgICAgICAgICAocmVzdWx0LCBbbGVhZk5hbWVdLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAoZW5hYmxlZExlYXZlc1tsZWFmTmFtZV0/LkxlYWYpIHtcbiAgICAgICAgICAgICAgY29uc3QgTGVhZiA9IGVuYWJsZWRMZWF2ZXNbbGVhZk5hbWVdPy5MZWFmXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPExlYWYgZWRpdG9yUmVmPXtlZGl0b3JSZWZ9IGZpZWxkUHJvcHM9e3Byb3BzfSBrZXk9e2l9IGxlYWY9e2xlYWZ9IHBhdGg9e3BhdGh9PlxuICAgICAgICAgICAgICAgICAge3Jlc3VsdH1cbiAgICAgICAgICAgICAgICA8L0xlYWY+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICAgIH0sXG4gICAgICAgICAgPHNwYW4gey4uLmF0dHJpYnV0ZXN9PntjaGlsZHJlbn08L3NwYW4+LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiA8c3BhbiB7Li4uYXR0cmlidXRlc30+e2NoaWxkcmVufTwvc3Bhbj5cbiAgICB9LFxuICAgIFtlbmFibGVkTGVhdmVzLCBwYXRoLCBwcm9wc10sXG4gIClcblxuICBjb25zdCBtZW1vaXplZFZhbGlkYXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlLCB2YWxpZGF0aW9uT3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIHZhbGlkYXRlKHZhbHVlLCB7IC4uLnZhbGlkYXRpb25PcHRpb25zLCByZXF1aXJlZCB9KVxuICAgIH0sXG4gICAgW3ZhbGlkYXRlLCByZXF1aXJlZF0sXG4gIClcblxuICBjb25zdCBmaWVsZFR5cGUgPSB1c2VGaWVsZCh7XG4gICAgY29uZGl0aW9uLFxuICAgIHBhdGgsXG4gICAgdmFsaWRhdGU6IG1lbW9pemVkVmFsaWRhdGUsXG4gIH0pXG5cbiAgY29uc3QgeyBlcnJvck1lc3NhZ2UsIGluaXRpYWxWYWx1ZSwgc2V0VmFsdWUsIHNob3dFcnJvciwgdmFsdWUgfSA9IGZpZWxkVHlwZVxuXG4gIGNvbnN0IGNsYXNzZXMgPSBbXG4gICAgYmFzZUNsYXNzLFxuICAgICdmaWVsZC10eXBlJyxcbiAgICBjbGFzc05hbWUsXG4gICAgc2hvd0Vycm9yICYmICdlcnJvcicsXG4gICAgcmVhZE9ubHkgJiYgYCR7YmFzZUNsYXNzfS0tcmVhZC1vbmx5YCxcbiAgICAhaGlkZUd1dHRlciAmJiBgJHtiYXNlQ2xhc3N9LS1ndXR0ZXJgLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICBjb25zdCBlZGl0b3IgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgQ3JlYXRlZEVkaXRvciA9IHdpdGhFbnRlckJyZWFrT3V0KHdpdGhIaXN0b3J5KHdpdGhSZWFjdChjcmVhdGVFZGl0b3IoKSkpKVxuXG4gICAgQ3JlYXRlZEVkaXRvciA9IHdpdGhIVE1MKENyZWF0ZWRFZGl0b3IpXG4gICAgQ3JlYXRlZEVkaXRvciA9IGVuYWJsZVBsdWdpbnMoQ3JlYXRlZEVkaXRvciwgZWxlbWVudHMpXG4gICAgQ3JlYXRlZEVkaXRvciA9IGVuYWJsZVBsdWdpbnMoQ3JlYXRlZEVkaXRvciwgbGVhdmVzKVxuXG4gICAgcmV0dXJuIENyZWF0ZWRFZGl0b3JcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtlbGVtZW50cywgbGVhdmVzLCBwYXRoXSlcblxuICAvLyBBbGwgc2xhdGUgY2hhbmdlcyBmaXJlIHRoZSBvbkNoYW5nZSBldmVudFxuICAvLyBpbmNsdWRpbmcgc2VsZWN0aW9uIGNoYW5nZXNcbiAgLy8gc28gd2Ugd2lsbCBmaWx0ZXIgdGhlIHNldF9zZWxlY3Rpb24gb3BlcmF0aW9ucyBvdXRcbiAgLy8gYW5kIG9ubHkgZmlyZSBzZXRWYWx1ZSB3aGVuIG9uQ2hhbmdlIGlzIGJlY2F1c2Ugb2YgdmFsdWVcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbDogdW5rbm93bikgPT4ge1xuICAgICAgY29uc3Qgb3BzID0gZWRpdG9yLm9wZXJhdGlvbnMuZmlsdGVyKChvOiBCYXNlT3BlcmF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChvKSB7XG4gICAgICAgICAgcmV0dXJuIG8udHlwZSAhPT0gJ3NldF9zZWxlY3Rpb24nXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9KVxuXG4gICAgICBpZiAob3BzICYmIEFycmF5LmlzQXJyYXkob3BzKSAmJiBvcHMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoIXJlYWRPbmx5ICYmIHZhbCAhPT0gZGVmYXVsdFJpY2hUZXh0VmFsdWUgJiYgdmFsICE9PSB2YWx1ZSkge1xuICAgICAgICAgIHNldFZhbHVlKHZhbClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2VkaXRvci5vcGVyYXRpb25zLCByZWFkT25seSwgc2V0VmFsdWUsIHZhbHVlXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsb2FkZWQpIHtcbiAgICAgIGNvbnN0IG1lcmdlZEVsZW1lbnRzID0gbWVyZ2VDdXN0b21GdW5jdGlvbnMoZWxlbWVudHMsIGVsZW1lbnRUeXBlcylcbiAgICAgIGNvbnN0IG1lcmdlZExlYXZlcyA9IG1lcmdlQ3VzdG9tRnVuY3Rpb25zKGxlYXZlcywgbGVhZlR5cGVzKVxuXG4gICAgICBzZXRFbmFibGVkRWxlbWVudHMobWVyZ2VkRWxlbWVudHMpXG4gICAgICBzZXRFbmFibGVkTGVhdmVzKG1lcmdlZExlYXZlcylcblxuICAgICAgc2V0TG9hZGVkKHRydWUpXG4gICAgfVxuICB9LCBbbG9hZGVkLCBlbGVtZW50cywgbGVhdmVzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIHNldENsaWNrYWJsZVN0YXRlKGNsaWNrU3RhdGU6ICdkaXNhYmxlZCcgfCAnZW5hYmxlZCcpIHtcbiAgICAgIGNvbnN0IHNlbGVjdG9ycyA9ICdidXR0b24sIGEsIFtyb2xlPVwiYnV0dG9uXCJdJ1xuICAgICAgY29uc3QgdG9vbGJhckJ1dHRvbnM6IChIVE1MQW5jaG9yRWxlbWVudCB8IEhUTUxCdXR0b25FbGVtZW50KVtdID1cbiAgICAgICAgdG9vbGJhclJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9ycylcblxuICAgICAgOyh0b29sYmFyQnV0dG9ucyB8fCBbXSkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgY29uc3QgaXNCdXR0b24gPSBjaGlsZC50YWdOYW1lID09PSAnQlVUVE9OJ1xuICAgICAgICBjb25zdCBpc0Rpc2FibGluZyA9IGNsaWNrU3RhdGUgPT09ICdkaXNhYmxlZCdcbiAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCd0YWJJbmRleCcsIGlzRGlzYWJsaW5nID8gJy0xJyA6ICcwJylcbiAgICAgICAgaWYgKGlzQnV0dG9uKSBjaGlsZC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgaXNEaXNhYmxpbmcgPyAnZGlzYWJsZWQnIDogbnVsbClcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGxvYWRlZCAmJiByZWFkT25seSkge1xuICAgICAgc2V0Q2xpY2thYmxlU3RhdGUoJ2Rpc2FibGVkJylcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRlZCAmJiByZWFkT25seSkge1xuICAgICAgICBzZXRDbGlja2FibGVTdGF0ZSgnZW5hYmxlZCcpXG4gICAgICB9XG4gICAgfVxuICB9LCBbbG9hZGVkLCByZWFkT25seV0pXG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICAvLyBJZiB0aGVyZSBpcyBhIGNoYW5nZSB0byB0aGUgaW5pdGlhbCB2YWx1ZSwgd2UgbmVlZCB0byByZXNldCBTbGF0ZSBoaXN0b3J5XG4gIC8vICAgLy8gYW5kIGNsZWFyIHNlbGVjdGlvbiBiZWNhdXNlIHRoZSBvbGQgc2VsZWN0aW9uIG1heSBubyBsb25nZXIgYmUgdmFsaWRcbiAgLy8gICAvLyBhcyByZXR1cm5lZCBKU09OIG1heSBiZSBtb2RpZmllZCBpbiBob29rcyBhbmQgaGF2ZSBhIGRpZmZlcmVudCBzaGFwZVxuICAvLyAgIGlmIChlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gIC8vICAgICBjb25zb2xlLmxvZygnZGVzZWxlY3RpbmcnKTtcbiAgLy8gICAgIFJlYWN0RWRpdG9yLmRlc2VsZWN0KGVkaXRvcik7XG4gIC8vICAgfVxuICAvLyB9LCBbcGF0aCwgZWRpdG9yXSk7XG5cbiAgaWYgKCFsb2FkZWQpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgbGV0IHZhbHVlVG9SZW5kZXIgPSB2YWx1ZVxuXG4gIGlmICh0eXBlb2YgdmFsdWVUb1JlbmRlciA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkSlNPTiA9IEpTT04ucGFyc2UodmFsdWVUb1JlbmRlcilcbiAgICAgIHZhbHVlVG9SZW5kZXIgPSBwYXJzZWRKU09OXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB2YWx1ZVRvUmVuZGVyID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGlmICghdmFsdWVUb1JlbmRlcikgdmFsdWVUb1JlbmRlciA9IGRlZmF1bHRWYWx1ZUZyb21Qcm9wcyB8fCBkZWZhdWx0UmljaFRleHRWYWx1ZVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgIHdpZHRoLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcGB9PlxuICAgICAgICA8RXJyb3IgbWVzc2FnZT17ZXJyb3JNZXNzYWdlfSBzaG93RXJyb3I9e3Nob3dFcnJvcn0gLz5cbiAgICAgICAgPExhYmVsIGh0bWxGb3I9e2BmaWVsZC0ke3BhdGgucmVwbGFjZSgvXFwuL2csICdfXycpfWB9IGxhYmVsPXtsYWJlbH0gcmVxdWlyZWQ9e3JlcXVpcmVkfSAvPlxuICAgICAgICA8U2xhdGVcbiAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICBrZXk9e0pTT04uc3RyaW5naWZ5KHsgaW5pdGlhbFZhbHVlLCBwYXRoIH0pfVxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlVG9SZW5kZXIgYXMgYW55W119XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcHBlcmB9PlxuICAgICAgICAgICAge2VsZW1lbnRzPy5sZW5ndGggKyBsZWF2ZXM/Lmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtbYCR7YmFzZUNsYXNzfV9fdG9vbGJhcmAsIGRyYXdlcklzT3BlbiAmJiBgJHtiYXNlQ2xhc3N9X19kcmF3ZXJJc09wZW5gXVxuICAgICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgICAgICAgLmpvaW4oJyAnKX1cbiAgICAgICAgICAgICAgICByZWY9e3Rvb2xiYXJSZWZ9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdG9vbGJhci13cmFwYH0+XG4gICAgICAgICAgICAgICAgICB7ZWxlbWVudHMubWFwKChlbGVtZW50LCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBlbGVtZW50TmFtZTogc3RyaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ29iamVjdCcgJiYgZWxlbWVudD8ubmFtZSkgZWxlbWVudE5hbWUgPSBlbGVtZW50Lm5hbWVcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJykgZWxlbWVudE5hbWUgPSBlbGVtZW50XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFR5cGUgPSBlbmFibGVkRWxlbWVudHNbZWxlbWVudE5hbWVdXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IEJ1dHRvbiA9IGVsZW1lbnRUeXBlPy5CdXR0b25cblxuICAgICAgICAgICAgICAgICAgICBpZiAoQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxCdXR0b24gZmllbGRQcm9wcz17cHJvcHN9IGtleT17aX0gcGF0aD17cGF0aH0gLz5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHtsZWF2ZXMubWFwKChsZWFmLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsZWFmTmFtZTogc3RyaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbGVhZiA9PT0gJ29iamVjdCcgJiYgbGVhZj8ubmFtZSkgbGVhZk5hbWUgPSBsZWFmLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBsZWFmID09PSAnc3RyaW5nJykgbGVhZk5hbWUgPSBsZWFmXG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVhZlR5cGUgPSBlbmFibGVkTGVhdmVzW2xlYWZOYW1lXVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBCdXR0b24gPSBsZWFmVHlwZT8uQnV0dG9uXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKEJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8QnV0dG9uIGZpZWxkUHJvcHM9e3Byb3BzfSBrZXk9e2l9IHBhdGg9e3BhdGh9IC8+XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lZGl0b3JgfSByZWY9e2VkaXRvclJlZn0+XG4gICAgICAgICAgICAgIDxFZGl0YWJsZVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faW5wdXRgfVxuICAgICAgICAgICAgICAgIGlkPXtgZmllbGQtJHtwYXRoLnJlcGxhY2UoL1xcLi9nLCAnX18nKX1gfVxuICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dCgnXFxuJylcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSBOb2RlLmRlc2NlbmRhbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoLnNsaWNlKDAsIC0xKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAoU2xhdGVFbGVtZW50LmlzRWxlbWVudChzZWxlY3RlZEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBbGxvdyBoYXJkIGVudGVyIHRvIFwiYnJlYWsgb3V0XCIgb2YgY2VydGFpbiBlbGVtZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVkaXRvci5zaG91bGRCcmVha091dE9uRW50ZXIoc2VsZWN0ZWRFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTGVhZiA9IE5vZGUuZGVzY2VuZGFudChlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHQuaXNUZXh0KHNlbGVjdGVkTGVhZikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcoc2VsZWN0ZWRMZWFmLnRleHQpLmxlbmd0aCA9PT0gZWRpdG9yLnNlbGVjdGlvbi5hbmNob3Iub2Zmc2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCB7IGNoaWxkcmVuOiBbeyB0ZXh0OiAnJyB9XSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc3BsaXROb2RlcyhlZGl0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHt9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IE5vZGUuZGVzY2VuZGFudChcbiAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IucGF0aC5zbGljZSgwLCAtMSksXG4gICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICBpZiAoU2xhdGVFbGVtZW50LmlzRWxlbWVudChzZWxlY3RlZEVsZW1lbnQpICYmIHNlbGVjdGVkRWxlbWVudC50eXBlID09PSAnbGknKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRMZWFmID0gTm9kZS5kZXNjZW5kYW50KGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IucGF0aClcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoVGV4dC5pc1RleHQoc2VsZWN0ZWRMZWFmKSAmJiBTdHJpbmcoc2VsZWN0ZWRMZWFmLnRleHQpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IChuKSA9PiBTbGF0ZUVsZW1lbnQuaXNFbGVtZW50KG4pICYmIGxpc3RUeXBlcy5pbmNsdWRlcyhuLnR5cGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiAnbG93ZXN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyB0eXBlOiB1bmRlZmluZWQgfSlcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZWRpdG9yLmlzVm9pZChzZWxlY3RlZEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoaG90a2V5cykuZm9yRWFjaCgoaG90a2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0hvdGtleShob3RrZXksIGV2ZW50IGFzIGFueSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFyayA9IGhvdGtleXNbaG90a2V5XVxuICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUxlYWYoZWRpdG9yLCBtYXJrKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2dldFRyYW5zbGF0aW9uKHBsYWNlaG9sZGVyLCBpMThuKX1cbiAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICByZW5kZXJMZWFmPXtyZW5kZXJMZWFmfVxuICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2tcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1NsYXRlPlxuICAgICAgICA8RmllbGREZXNjcmlwdGlvbiBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IHZhbHVlPXt2YWx1ZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5leHBvcnQgZGVmYXVsdCB3aXRoQ29uZGl0aW9uKFJpY2hUZXh0KVxuIl0sIm5hbWVzIjpbImRlZmF1bHRFbGVtZW50cyIsImRlZmF1bHRMZWF2ZXMiLCJiYXNlQ2xhc3MiLCJSaWNoVGV4dCIsInByb3BzIiwibmFtZSIsImFkbWluIiwiY2xhc3NOYW1lIiwiY29uZGl0aW9uIiwiZGVzY3JpcHRpb24iLCJoaWRlR3V0dGVyIiwicGxhY2Vob2xkZXIiLCJyZWFkT25seSIsInN0eWxlIiwid2lkdGgiLCJ1bmRlZmluZWQiLCJkZWZhdWx0VmFsdWUiLCJkZWZhdWx0VmFsdWVGcm9tUHJvcHMiLCJsYWJlbCIsInBhdGgiLCJwYXRoRnJvbVByb3BzIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZSIsInJpY2hUZXh0VmFsaWRhdGUiLCJlbGVtZW50cyIsImxlYXZlcyIsImkxOG4iLCJ1c2VUcmFuc2xhdGlvbiIsImxvYWRlZCIsInNldExvYWRlZCIsInVzZVN0YXRlIiwiZW5hYmxlZEVsZW1lbnRzIiwic2V0RW5hYmxlZEVsZW1lbnRzIiwiZW5hYmxlZExlYXZlcyIsInNldEVuYWJsZWRMZWF2ZXMiLCJlZGl0b3JSZWYiLCJ1c2VSZWYiLCJ0b29sYmFyUmVmIiwiZHJhd2VyRGVwdGgiLCJ1c2VFZGl0RGVwdGgiLCJkcmF3ZXJJc09wZW4iLCJyZW5kZXJFbGVtZW50IiwidXNlQ2FsbGJhY2siLCJhdHRyaWJ1dGVzIiwiY2hpbGRyZW4iLCJlbGVtZW50IiwibWF0Y2hlZEVsZW1lbnQiLCJ0eXBlIiwiRWxlbWVudCIsImF0dHIiLCJ0ZXh0QWxpZ24iLCJtYXJnaW5SaWdodCIsIm1hcmdpbkxlZnQiLCJsaXN0U3R5bGVQb3NpdGlvbiIsImVsIiwiZmllbGRQcm9wcyIsImRpdiIsInJlbmRlckxlYWYiLCJsZWFmIiwibWF0Y2hlZExlYXZlcyIsIk9iamVjdCIsImVudHJpZXMiLCJmaWx0ZXIiLCJsZWFmTmFtZSIsImxlbmd0aCIsInJlZHVjZSIsInJlc3VsdCIsImkiLCJMZWFmIiwia2V5Iiwic3BhbiIsIm1lbW9pemVkVmFsaWRhdGUiLCJ2YWx1ZSIsInZhbGlkYXRpb25PcHRpb25zIiwiZmllbGRUeXBlIiwidXNlRmllbGQiLCJlcnJvck1lc3NhZ2UiLCJpbml0aWFsVmFsdWUiLCJzZXRWYWx1ZSIsInNob3dFcnJvciIsImNsYXNzZXMiLCJCb29sZWFuIiwiam9pbiIsImVkaXRvciIsInVzZU1lbW8iLCJDcmVhdGVkRWRpdG9yIiwid2l0aEVudGVyQnJlYWtPdXQiLCJ3aXRoSGlzdG9yeSIsIndpdGhSZWFjdCIsImNyZWF0ZUVkaXRvciIsIndpdGhIVE1MIiwiZW5hYmxlUGx1Z2lucyIsImhhbmRsZUNoYW5nZSIsInZhbCIsIm9wcyIsIm9wZXJhdGlvbnMiLCJvIiwiQXJyYXkiLCJpc0FycmF5IiwiZGVmYXVsdFJpY2hUZXh0VmFsdWUiLCJ1c2VFZmZlY3QiLCJtZXJnZWRFbGVtZW50cyIsIm1lcmdlQ3VzdG9tRnVuY3Rpb25zIiwiZWxlbWVudFR5cGVzIiwibWVyZ2VkTGVhdmVzIiwibGVhZlR5cGVzIiwic2V0Q2xpY2thYmxlU3RhdGUiLCJjbGlja1N0YXRlIiwic2VsZWN0b3JzIiwidG9vbGJhckJ1dHRvbnMiLCJjdXJyZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJjaGlsZCIsImlzQnV0dG9uIiwidGFnTmFtZSIsImlzRGlzYWJsaW5nIiwic2V0QXR0cmlidXRlIiwidmFsdWVUb1JlbmRlciIsInBhcnNlZEpTT04iLCJKU09OIiwicGFyc2UiLCJlcnIiLCJFcnJvciIsIm1lc3NhZ2UiLCJMYWJlbCIsImh0bWxGb3IiLCJyZXBsYWNlIiwiU2xhdGUiLCJzdHJpbmdpZnkiLCJvbkNoYW5nZSIsInJlZiIsIm1hcCIsImVsZW1lbnROYW1lIiwiZWxlbWVudFR5cGUiLCJCdXR0b24iLCJsZWFmVHlwZSIsIkVkaXRhYmxlIiwiaWQiLCJvbktleURvd24iLCJldmVudCIsInNoaWZ0S2V5IiwicHJldmVudERlZmF1bHQiLCJpbnNlcnRUZXh0Iiwic2VsZWN0ZWRFbGVtZW50IiwiTm9kZSIsImRlc2NlbmRhbnQiLCJzZWxlY3Rpb24iLCJhbmNob3IiLCJzbGljZSIsIlNsYXRlRWxlbWVudCIsImlzRWxlbWVudCIsInNob3VsZEJyZWFrT3V0T25FbnRlciIsInNlbGVjdGVkTGVhZiIsIlRleHQiLCJpc1RleHQiLCJTdHJpbmciLCJ0ZXh0Iiwib2Zmc2V0IiwiVHJhbnNmb3JtcyIsImluc2VydE5vZGVzIiwic3BsaXROb2RlcyIsInNldE5vZGVzIiwidW53cmFwTm9kZXMiLCJtYXRjaCIsIm4iLCJsaXN0VHlwZXMiLCJpbmNsdWRlcyIsIm1vZGUiLCJzcGxpdCIsImlzVm9pZCIsInJlbW92ZU5vZGVzIiwia2V5cyIsImhvdGtleXMiLCJob3RrZXkiLCJpc0hvdGtleSIsIm1hcmsiLCJ0b2dnbGVMZWFmIiwiZ2V0VHJhbnNsYXRpb24iLCJzcGVsbENoZWNrIiwiRmllbGREZXNjcmlwdGlvbiIsIndpdGhDb25kaXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBa2NBOzs7ZUFBQTs7O2lFQTlicUI7dUJBQ21EOzJCQUMzQzs0QkFDRTsrREFDMEM7OEJBQzFDO3VCQUMrQzs4QkFDbEQ7NEJBQ2U7OEJBSU47NEJBQ0o7aUVBQ1I7a0VBQ0g7c0VBQ0k7Z0VBQ047UUFDYjsrREFDZTsrREFDQzs2RUFDVTswRUFDSDtpRUFDVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLE1BQU1BLGtCQUFxQztJQUN6QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUNELE1BQU1DLGdCQUFnQztJQUFDO0lBQVE7SUFBVTtJQUFhO0lBQWlCO0NBQU87QUFFOUYsTUFBTUMsWUFBWTtBQVVsQixNQUFNQyxXQUFpQyxDQUFDQztJQUN0QyxNQUFNLEVBQ0pDLElBQUksRUFDSkMsT0FBTyxFQUNMQyxTQUFTLEVBQ1RDLFNBQVMsRUFDVEMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsUUFBUSxFQUNSQyxLQUFLLEVBQ0xDLEtBQUssRUFDTixHQUFHO1FBQ0ZQLFdBQVdRO1FBQ1hQLFdBQVdPO1FBQ1hOLGFBQWFNO1FBQ2JMLFlBQVlLO1FBQ1pKLGFBQWFJO1FBQ2JILFVBQVVHO1FBQ1ZGLE9BQU9FO1FBQ1BELE9BQU9DO0lBQ1Qs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
package/dist/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import type { RichTextAdapter } from 'payload/types';
2
2
  import type { AdapterArguments } from './types';
3
3
  export declare function slateEditor(args: AdapterArguments): RichTextAdapter<AdapterArguments>;
4
+ export { default as ElementButton } from './field/elements/Button';
5
+ export { default as toggleElement } from './field/elements/toggle';
6
+ export { default as LeafButton } from './field/leaves/Button';
4
7
  export type { AdapterArguments, ElementNode, FieldProps, RichTextCustomElement, RichTextCustomLeaf, RichTextElement, RichTextLeaf, TextNode, } from './types';
5
8
  export { nodeIsTextNode } from './types';
6
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAO/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAuCrF;AAED,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAO/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAuCrF;AAED,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAElE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC7D,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -12,6 +12,15 @@ _export(exports, {
12
12
  slateEditor: function() {
13
13
  return slateEditor;
14
14
  },
15
+ ElementButton: function() {
16
+ return _Button.default;
17
+ },
18
+ toggleElement: function() {
19
+ return _toggle.default;
20
+ },
21
+ LeafButton: function() {
22
+ return _Button1.default;
23
+ },
15
24
  nodeIsTextNode: function() {
16
25
  return _types.nodeIsTextNode;
17
26
  }
@@ -21,6 +30,9 @@ const _cell = /*#__PURE__*/ _interop_require_default(require("./cell"));
21
30
  const _richTextRelationshipPromise = require("./data/richTextRelationshipPromise");
22
31
  const _validation = require("./data/validation");
23
32
  const _field = /*#__PURE__*/ _interop_require_default(require("./field"));
33
+ const _Button = /*#__PURE__*/ _interop_require_default(require("./field/elements/Button"));
34
+ const _toggle = /*#__PURE__*/ _interop_require_default(require("./field/elements/toggle"));
35
+ const _Button1 = /*#__PURE__*/ _interop_require_default(require("./field/leaves/Button"));
24
36
  const _types = require("./types");
25
37
  function _interop_require_default(obj) {
26
38
  return obj && obj.__esModule ? obj : {
@@ -55,4 +67,4 @@ function slateEditor(args) {
55
67
  };
56
68
  }
57
69
 
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJpY2hUZXh0QWRhcHRlciB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHdpdGhNZXJnZWRQcm9wcyB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy91dGlsaXRpZXMnXG5cbmltcG9ydCB0eXBlIHsgQWRhcHRlckFyZ3VtZW50cyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBSaWNoVGV4dENlbGwgZnJvbSAnLi9jZWxsJ1xuaW1wb3J0IHsgcmljaFRleHRSZWxhdGlvbnNoaXBQcm9taXNlIH0gZnJvbSAnLi9kYXRhL3JpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSdcbmltcG9ydCB7IHJpY2hUZXh0VmFsaWRhdGUgfSBmcm9tICcuL2RhdGEvdmFsaWRhdGlvbidcbmltcG9ydCBSaWNoVGV4dEZpZWxkIGZyb20gJy4vZmllbGQnXG5cbmV4cG9ydCBmdW5jdGlvbiBzbGF0ZUVkaXRvcihhcmdzOiBBZGFwdGVyQXJndW1lbnRzKTogUmljaFRleHRBZGFwdGVyPEFkYXB0ZXJBcmd1bWVudHM+IHtcbiAgcmV0dXJuIHtcbiAgICBDZWxsQ29tcG9uZW50OiB3aXRoTWVyZ2VkUHJvcHMoe1xuICAgICAgQ29tcG9uZW50OiBSaWNoVGV4dENlbGwsXG4gICAgICB0b01lcmdlSW50b1Byb3BzOiBhcmdzLFxuICAgIH0pLFxuICAgIEZpZWxkQ29tcG9uZW50OiB3aXRoTWVyZ2VkUHJvcHMoe1xuICAgICAgQ29tcG9uZW50OiBSaWNoVGV4dEZpZWxkLFxuICAgICAgdG9NZXJnZUludG9Qcm9wczogYXJncyxcbiAgICB9KSxcbiAgICBhZnRlclJlYWRQcm9taXNlKHtcbiAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgIGRlcHRoLFxuICAgICAgZmllbGQsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICBzaWJsaW5nRG9jLFxuICAgIH0pIHtcbiAgICAgIGlmIChcbiAgICAgICAgZmllbGQuYWRtaW4/LmVsZW1lbnRzPy5pbmNsdWRlcygncmVsYXRpb25zaGlwJykgfHxcbiAgICAgICAgZmllbGQuYWRtaW4/LmVsZW1lbnRzPy5pbmNsdWRlcygndXBsb2FkJykgfHxcbiAgICAgICAgZmllbGQuYWRtaW4/LmVsZW1lbnRzPy5pbmNsdWRlcygnbGluaycpIHx8XG4gICAgICAgICFmaWVsZD8uYWRtaW4/LmVsZW1lbnRzXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHJpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSh7XG4gICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgdmFsaWRhdGU6IHJpY2hUZXh0VmFsaWRhdGUsXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUge1xuICBBZGFwdGVyQXJndW1lbnRzLFxuICBFbGVtZW50Tm9kZSxcbiAgRmllbGRQcm9wcyxcbiAgUmljaFRleHRDdXN0b21FbGVtZW50LFxuICBSaWNoVGV4dEN1c3RvbUxlYWYsXG4gIFJpY2hUZXh0RWxlbWVudCxcbiAgUmljaFRleHRMZWFmLFxuICBUZXh0Tm9kZSxcbn0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IHsgbm9kZUlzVGV4dE5vZGUgfSBmcm9tICcuL3R5cGVzJ1xuIl0sIm5hbWVzIjpbInNsYXRlRWRpdG9yIiwibm9kZUlzVGV4dE5vZGUiLCJhcmdzIiwiQ2VsbENvbXBvbmVudCIsIndpdGhNZXJnZWRQcm9wcyIsIkNvbXBvbmVudCIsIlJpY2hUZXh0Q2VsbCIsInRvTWVyZ2VJbnRvUHJvcHMiLCJGaWVsZENvbXBvbmVudCIsIlJpY2hUZXh0RmllbGQiLCJhZnRlclJlYWRQcm9taXNlIiwiY3VycmVudERlcHRoIiwiZGVwdGgiLCJmaWVsZCIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJhZG1pbiIsImVsZW1lbnRzIiwiaW5jbHVkZXMiLCJyaWNoVGV4dFJlbGF0aW9uc2hpcFByb21pc2UiLCJ2YWxpZGF0ZSIsInJpY2hUZXh0VmFsaWRhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBV2dCQSxXQUFXO2VBQVhBOztJQW9EUEMsY0FBYztlQUFkQSxxQkFBYzs7OzJCQTdEUzs2REFJUDs2Q0FDbUI7NEJBQ1g7OERBQ1A7dUJBc0RLOzs7Ozs7QUFwRHhCLFNBQVNELFlBQVlFLElBQXNCO0lBQ2hELE9BQU87UUFDTEMsZUFBZUMsSUFBQUEsMEJBQWUsRUFBQztZQUM3QkMsV0FBV0MsYUFBWTtZQUN2QkMsa0JBQWtCTDtRQUNwQjtRQUNBTSxnQkFBZ0JKLElBQUFBLDBCQUFlLEVBQUM7WUFDOUJDLFdBQVdJLGNBQWE7WUFDeEJGLGtCQUFrQkw7UUFDcEI7UUFDQVEsa0JBQWlCLEVBQ2ZDLFlBQVksRUFDWkMsS0FBSyxFQUNMQyxLQUFLLEVBQ0xDLGNBQWMsRUFDZEMsR0FBRyxFQUNIQyxnQkFBZ0IsRUFDaEJDLFVBQVUsRUFDWDtZQUNDLElBQ0VKLE1BQU1LLEtBQUssRUFBRUMsVUFBVUMsU0FBUyxtQkFDaENQLE1BQU1LLEtBQUssRUFBRUMsVUFBVUMsU0FBUyxhQUNoQ1AsTUFBTUssS0FBSyxFQUFFQyxVQUFVQyxTQUFTLFdBQ2hDLENBQUNQLE9BQU9LLE9BQU9DLFVBQ2Y7Z0JBQ0EsT0FBT0UsSUFBQUEsd0RBQTJCLEVBQUM7b0JBQ2pDVjtvQkFDQUM7b0JBQ0FDO29CQUNBQztvQkFDQUM7b0JBQ0FDO29CQUNBQztnQkFDRjtZQUNGO1lBQ0EsT0FBTztRQUNUO1FBQ0FLLFVBQVVDLDRCQUFnQjtJQUM1QjtBQUNGIn0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJpY2hUZXh0QWRhcHRlciB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHdpdGhNZXJnZWRQcm9wcyB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy91dGlsaXRpZXMnXG5cbmltcG9ydCB0eXBlIHsgQWRhcHRlckFyZ3VtZW50cyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBSaWNoVGV4dENlbGwgZnJvbSAnLi9jZWxsJ1xuaW1wb3J0IHsgcmljaFRleHRSZWxhdGlvbnNoaXBQcm9taXNlIH0gZnJvbSAnLi9kYXRhL3JpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSdcbmltcG9ydCB7IHJpY2hUZXh0VmFsaWRhdGUgfSBmcm9tICcuL2RhdGEvdmFsaWRhdGlvbidcbmltcG9ydCBSaWNoVGV4dEZpZWxkIGZyb20gJy4vZmllbGQnXG5cbmV4cG9ydCBmdW5jdGlvbiBzbGF0ZUVkaXRvcihhcmdzOiBBZGFwdGVyQXJndW1lbnRzKTogUmljaFRleHRBZGFwdGVyPEFkYXB0ZXJBcmd1bWVudHM+IHtcbiAgcmV0dXJuIHtcbiAgICBDZWxsQ29tcG9uZW50OiB3aXRoTWVyZ2VkUHJvcHMoe1xuICAgICAgQ29tcG9uZW50OiBSaWNoVGV4dENlbGwsXG4gICAgICB0b01lcmdlSW50b1Byb3BzOiBhcmdzLFxuICAgIH0pLFxuICAgIEZpZWxkQ29tcG9uZW50OiB3aXRoTWVyZ2VkUHJvcHMoe1xuICAgICAgQ29tcG9uZW50OiBSaWNoVGV4dEZpZWxkLFxuICAgICAgdG9NZXJnZUludG9Qcm9wczogYXJncyxcbiAgICB9KSxcbiAgICBhZnRlclJlYWRQcm9taXNlKHtcbiAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgIGRlcHRoLFxuICAgICAgZmllbGQsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICBzaWJsaW5nRG9jLFxuICAgIH0pIHtcbiAgICAgIGlmIChcbiAgICAgICAgZmllbGQuYWRtaW4/LmVsZW1lbnRzPy5pbmNsdWRlcygncmVsYXRpb25zaGlwJykgfHxcbiAgICAgICAgZmllbGQuYWRtaW4/LmVsZW1lbnRzPy5pbmNsdWRlcygndXBsb2FkJykgfHxcbiAgICAgICAgZmllbGQuYWRtaW4/LmVsZW1lbnRzPy5pbmNsdWRlcygnbGluaycpIHx8XG4gICAgICAgICFmaWVsZD8uYWRtaW4/LmVsZW1lbnRzXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHJpY2hUZXh0UmVsYXRpb25zaGlwUHJvbWlzZSh7XG4gICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgIHNpYmxpbmdEb2MsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgdmFsaWRhdGU6IHJpY2hUZXh0VmFsaWRhdGUsXG4gIH1cbn1cblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBFbGVtZW50QnV0dG9uIH0gZnJvbSAnLi9maWVsZC9lbGVtZW50cy9CdXR0b24nXG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgdG9nZ2xlRWxlbWVudCB9IGZyb20gJy4vZmllbGQvZWxlbWVudHMvdG9nZ2xlJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBMZWFmQnV0dG9uIH0gZnJvbSAnLi9maWVsZC9sZWF2ZXMvQnV0dG9uJ1xuZXhwb3J0IHR5cGUge1xuICBBZGFwdGVyQXJndW1lbnRzLFxuICBFbGVtZW50Tm9kZSxcbiAgRmllbGRQcm9wcyxcbiAgUmljaFRleHRDdXN0b21FbGVtZW50LFxuICBSaWNoVGV4dEN1c3RvbUxlYWYsXG4gIFJpY2hUZXh0RWxlbWVudCxcbiAgUmljaFRleHRMZWFmLFxuICBUZXh0Tm9kZSxcbn0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IHsgbm9kZUlzVGV4dE5vZGUgfSBmcm9tICcuL3R5cGVzJ1xuIl0sIm5hbWVzIjpbInNsYXRlRWRpdG9yIiwiRWxlbWVudEJ1dHRvbiIsInRvZ2dsZUVsZW1lbnQiLCJMZWFmQnV0dG9uIiwibm9kZUlzVGV4dE5vZGUiLCJhcmdzIiwiQ2VsbENvbXBvbmVudCIsIndpdGhNZXJnZWRQcm9wcyIsIkNvbXBvbmVudCIsIlJpY2hUZXh0Q2VsbCIsInRvTWVyZ2VJbnRvUHJvcHMiLCJGaWVsZENvbXBvbmVudCIsIlJpY2hUZXh0RmllbGQiLCJhZnRlclJlYWRQcm9taXNlIiwiY3VycmVudERlcHRoIiwiZGVwdGgiLCJmaWVsZCIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInNpYmxpbmdEb2MiLCJhZG1pbiIsImVsZW1lbnRzIiwiaW5jbHVkZXMiLCJyaWNoVGV4dFJlbGF0aW9uc2hpcFByb21pc2UiLCJ2YWxpZGF0ZSIsInJpY2hUZXh0VmFsaWRhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBV2dCQSxXQUFXO2VBQVhBOztJQXlDSUMsYUFBYTtlQUFiQSxlQUFhOztJQUViQyxhQUFhO2VBQWJBLGVBQWE7O0lBQ2JDLFVBQVU7ZUFBVkEsZ0JBQVU7O0lBWXJCQyxjQUFjO2VBQWRBLHFCQUFjOzs7MkJBakVTOzZEQUlQOzZDQUNtQjs0QkFDWDs4REFDUDsrREEyQ2U7K0RBRUE7Z0VBQ0g7dUJBWVA7Ozs7OztBQXhEeEIsU0FBU0osWUFBWUssSUFBc0I7SUFDaEQsT0FBTztRQUNMQyxlQUFlQyxJQUFBQSwwQkFBZSxFQUFDO1lBQzdCQyxXQUFXQyxhQUFZO1lBQ3ZCQyxrQkFBa0JMO1FBQ3BCO1FBQ0FNLGdCQUFnQkosSUFBQUEsMEJBQWUsRUFBQztZQUM5QkMsV0FBV0ksY0FBYTtZQUN4QkYsa0JBQWtCTDtRQUNwQjtRQUNBUSxrQkFBaUIsRUFDZkMsWUFBWSxFQUNaQyxLQUFLLEVBQ0xDLEtBQUssRUFDTEMsY0FBYyxFQUNkQyxHQUFHLEVBQ0hDLGdCQUFnQixFQUNoQkMsVUFBVSxFQUNYO1lBQ0MsSUFDRUosTUFBTUssS0FBSyxFQUFFQyxVQUFVQyxTQUFTLG1CQUNoQ1AsTUFBTUssS0FBSyxFQUFFQyxVQUFVQyxTQUFTLGFBQ2hDUCxNQUFNSyxLQUFLLEVBQUVDLFVBQVVDLFNBQVMsV0FDaEMsQ0FBQ1AsT0FBT0ssT0FBT0MsVUFDZjtnQkFDQSxPQUFPRSxJQUFBQSx3REFBMkIsRUFBQztvQkFDakNWO29CQUNBQztvQkFDQUM7b0JBQ0FDO29CQUNBQztvQkFDQUM7b0JBQ0FDO2dCQUNGO1lBQ0Y7WUFDQSxPQUFPO1FBQ1Q7UUFDQUssVUFBVUMsNEJBQWdCO0lBQzVCO0FBQ0YifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/richtext-slate",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "The officially supported Slate richtext adapter for Payload",
5
5
  "repository": "https://github.com/payloadcms/payload",
6
6
  "license": "MIT",
@@ -22,8 +22,8 @@
22
22
  "devDependencies": {
23
23
  "@types/node": "20.5.7",
24
24
  "@types/react": "18.2.15",
25
- "payload": "2.0.0-beta.31",
26
- "@payloadcms/eslint-config": "0.0.1"
25
+ "@payloadcms/eslint-config": "0.0.1",
26
+ "payload": "2.0.3"
27
27
  },
28
28
  "exports": null,
29
29
  "publishConfig": {
package/src/index.ts DELETED
@@ -1,64 +0,0 @@
1
- import type { RichTextAdapter } from 'payload/types'
2
-
3
- import { withMergedProps } from 'payload/components/utilities'
4
-
5
- import type { AdapterArguments } from './types'
6
-
7
- import RichTextCell from './cell'
8
- import { richTextRelationshipPromise } from './data/richTextRelationshipPromise'
9
- import { richTextValidate } from './data/validation'
10
- import RichTextField from './field'
11
-
12
- export function slateEditor(args: AdapterArguments): RichTextAdapter<AdapterArguments> {
13
- return {
14
- CellComponent: withMergedProps({
15
- Component: RichTextCell,
16
- toMergeIntoProps: args,
17
- }),
18
- FieldComponent: withMergedProps({
19
- Component: RichTextField,
20
- toMergeIntoProps: args,
21
- }),
22
- afterReadPromise({
23
- currentDepth,
24
- depth,
25
- field,
26
- overrideAccess,
27
- req,
28
- showHiddenFields,
29
- siblingDoc,
30
- }) {
31
- if (
32
- field.admin?.elements?.includes('relationship') ||
33
- field.admin?.elements?.includes('upload') ||
34
- field.admin?.elements?.includes('link') ||
35
- !field?.admin?.elements
36
- ) {
37
- return richTextRelationshipPromise({
38
- currentDepth,
39
- depth,
40
- field,
41
- overrideAccess,
42
- req,
43
- showHiddenFields,
44
- siblingDoc,
45
- })
46
- }
47
- return null
48
- },
49
- validate: richTextValidate,
50
- }
51
- }
52
-
53
- export type {
54
- AdapterArguments,
55
- ElementNode,
56
- FieldProps,
57
- RichTextCustomElement,
58
- RichTextCustomLeaf,
59
- RichTextElement,
60
- RichTextLeaf,
61
- TextNode,
62
- } from './types'
63
-
64
- export { nodeIsTextNode } from './types'