@payloadcms/richtext-lexical 3.0.0-alpha.34 → 3.0.0-alpha.36

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.
Files changed (155) hide show
  1. package/dist/cell/index.d.ts.map +1 -1
  2. package/dist/cell/index.js +3 -2
  3. package/dist/field/features/align/feature.client.d.ts.map +1 -1
  4. package/dist/field/features/align/feature.client.js +3 -2
  5. package/dist/field/features/blockquote/feature.client.d.ts.map +1 -1
  6. package/dist/field/features/blockquote/feature.client.js +7 -4
  7. package/dist/field/features/blockquote/feature.server.d.ts.map +1 -1
  8. package/dist/field/features/blockquote/feature.server.js +3 -2
  9. package/dist/field/features/blockquote/markdownTransformer.d.ts.map +1 -1
  10. package/dist/field/features/blockquote/markdownTransformer.js +5 -3
  11. package/dist/field/features/blocks/component/BlockContent.d.ts.map +1 -1
  12. package/dist/field/features/blocks/component/BlockContent.js +5 -3
  13. package/dist/field/features/blocks/drawer/index.d.ts +1 -1
  14. package/dist/field/features/blocks/drawer/index.d.ts.map +1 -1
  15. package/dist/field/features/blocks/drawer/index.js +7 -4
  16. package/dist/field/features/blocks/nodes/BlocksNode.d.ts +3 -1
  17. package/dist/field/features/blocks/nodes/BlocksNode.d.ts.map +1 -1
  18. package/dist/field/features/blocks/nodes/BlocksNode.js +3 -2
  19. package/dist/field/features/blocks/plugin/commands.d.ts.map +1 -1
  20. package/dist/field/features/blocks/plugin/commands.js +3 -2
  21. package/dist/field/features/blocks/plugin/index.d.ts.map +1 -1
  22. package/dist/field/features/blocks/plugin/index.js +7 -4
  23. package/dist/field/features/debug/testrecorder/plugin/index.d.ts.map +1 -1
  24. package/dist/field/features/debug/testrecorder/plugin/index.js +5 -3
  25. package/dist/field/features/debug/treeview/plugin/index.d.ts.map +1 -1
  26. package/dist/field/features/debug/treeview/plugin/index.js +5 -3
  27. package/dist/field/features/format/bold/feature.client.d.ts.map +1 -1
  28. package/dist/field/features/format/bold/feature.client.js +3 -2
  29. package/dist/field/features/format/inlinecode/feature.client.d.ts.map +1 -1
  30. package/dist/field/features/format/inlinecode/feature.client.js +3 -2
  31. package/dist/field/features/format/italic/feature.client.d.ts.map +1 -1
  32. package/dist/field/features/format/italic/feature.client.js +3 -2
  33. package/dist/field/features/format/strikethrough/feature.client.d.ts.map +1 -1
  34. package/dist/field/features/format/strikethrough/feature.client.js +3 -2
  35. package/dist/field/features/format/subscript/feature.client.d.ts.map +1 -1
  36. package/dist/field/features/format/subscript/feature.client.js +3 -2
  37. package/dist/field/features/format/superscript/feature.client.d.ts.map +1 -1
  38. package/dist/field/features/format/superscript/feature.client.js +3 -2
  39. package/dist/field/features/format/underline/feature.client.d.ts.map +1 -1
  40. package/dist/field/features/format/underline/feature.client.js +3 -2
  41. package/dist/field/features/heading/feature.client.d.ts.map +1 -1
  42. package/dist/field/features/heading/feature.client.js +7 -5
  43. package/dist/field/features/heading/feature.server.d.ts.map +1 -1
  44. package/dist/field/features/heading/feature.server.js +3 -2
  45. package/dist/field/features/heading/markdownTransformer.d.ts.map +1 -1
  46. package/dist/field/features/heading/markdownTransformer.js +3 -2
  47. package/dist/field/features/indent/feature.client.d.ts.map +1 -1
  48. package/dist/field/features/indent/feature.client.js +3 -2
  49. package/dist/field/features/link/feature.client.d.ts.map +1 -1
  50. package/dist/field/features/link/feature.client.js +5 -3
  51. package/dist/field/features/link/nodes/AutoLinkNode.d.ts +1 -1
  52. package/dist/field/features/link/nodes/AutoLinkNode.d.ts.map +1 -1
  53. package/dist/field/features/link/nodes/AutoLinkNode.js +3 -2
  54. package/dist/field/features/link/nodes/LinkNode.d.ts +5 -2
  55. package/dist/field/features/link/nodes/LinkNode.d.ts.map +1 -1
  56. package/dist/field/features/link/nodes/LinkNode.js +5 -3
  57. package/dist/field/features/link/plugins/autoLink/index.d.ts.map +1 -1
  58. package/dist/field/features/link/plugins/autoLink/index.js +8 -5
  59. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +1 -1
  60. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +3 -2
  61. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  62. package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +9 -5
  63. package/dist/field/features/link/plugins/link/index.js +7 -4
  64. package/dist/field/features/lists/checklist/feature.client.d.ts.map +1 -1
  65. package/dist/field/features/lists/checklist/feature.client.js +3 -2
  66. package/dist/field/features/lists/checklist/feature.server.d.ts.map +1 -1
  67. package/dist/field/features/lists/checklist/feature.server.js +3 -2
  68. package/dist/field/features/lists/checklist/markdownTransformers.d.ts.map +1 -1
  69. package/dist/field/features/lists/checklist/markdownTransformers.js +3 -2
  70. package/dist/field/features/lists/checklist/plugin/index.d.ts.map +1 -1
  71. package/dist/field/features/lists/checklist/plugin/index.js +3 -2
  72. package/dist/field/features/lists/common/markdown.d.ts.map +1 -1
  73. package/dist/field/features/lists/common/markdown.js +3 -2
  74. package/dist/field/features/lists/htmlConverter.d.ts.map +1 -1
  75. package/dist/field/features/lists/htmlConverter.js +3 -2
  76. package/dist/field/features/lists/orderedlist/feature.client.js +3 -2
  77. package/dist/field/features/lists/orderedlist/feature.server.d.ts.map +1 -1
  78. package/dist/field/features/lists/orderedlist/feature.server.js +3 -2
  79. package/dist/field/features/lists/orderedlist/markdownTransformer.d.ts.map +1 -1
  80. package/dist/field/features/lists/orderedlist/markdownTransformer.js +3 -2
  81. package/dist/field/features/lists/plugin/index.d.ts.map +1 -1
  82. package/dist/field/features/lists/plugin/index.js +3 -2
  83. package/dist/field/features/lists/unorderedlist/feature.client.d.ts.map +1 -1
  84. package/dist/field/features/lists/unorderedlist/feature.client.js +3 -2
  85. package/dist/field/features/lists/unorderedlist/feature.server.d.ts.map +1 -1
  86. package/dist/field/features/lists/unorderedlist/feature.server.js +3 -2
  87. package/dist/field/features/lists/unorderedlist/markdownTransformer.d.ts.map +1 -1
  88. package/dist/field/features/lists/unorderedlist/markdownTransformer.js +3 -2
  89. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +4 -1
  90. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  91. package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +5 -3
  92. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts +4 -1
  93. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  94. package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +5 -3
  95. package/dist/field/features/paragraph/feature.client.d.ts.map +1 -1
  96. package/dist/field/features/paragraph/feature.client.js +5 -3
  97. package/dist/field/features/relationship/drawer/commands.d.ts.map +1 -1
  98. package/dist/field/features/relationship/drawer/commands.js +3 -2
  99. package/dist/field/features/relationship/drawer/index.d.ts.map +1 -1
  100. package/dist/field/features/relationship/drawer/index.js +5 -3
  101. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts +4 -1
  102. package/dist/field/features/relationship/nodes/RelationshipNode.d.ts.map +1 -1
  103. package/dist/field/features/relationship/nodes/RelationshipNode.js +3 -2
  104. package/dist/field/features/relationship/nodes/components/RelationshipComponent.d.ts +1 -1
  105. package/dist/field/features/relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
  106. package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +5 -3
  107. package/dist/field/features/relationship/plugins/index.d.ts +1 -1
  108. package/dist/field/features/relationship/plugins/index.d.ts.map +1 -1
  109. package/dist/field/features/relationship/plugins/index.js +7 -4
  110. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -1
  111. package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +7 -4
  112. package/dist/field/features/upload/component/index.d.ts.map +1 -1
  113. package/dist/field/features/upload/component/index.js +5 -3
  114. package/dist/field/features/upload/drawer/commands.d.ts.map +1 -1
  115. package/dist/field/features/upload/drawer/commands.js +3 -2
  116. package/dist/field/features/upload/drawer/index.d.ts.map +1 -1
  117. package/dist/field/features/upload/drawer/index.js +5 -3
  118. package/dist/field/features/upload/nodes/UploadNode.d.ts +4 -2
  119. package/dist/field/features/upload/nodes/UploadNode.d.ts.map +1 -1
  120. package/dist/field/features/upload/nodes/UploadNode.js +5 -3
  121. package/dist/field/features/upload/plugin/index.d.ts +1 -1
  122. package/dist/field/features/upload/plugin/index.d.ts.map +1 -1
  123. package/dist/field/features/upload/plugin/index.js +7 -4
  124. package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
  125. package/dist/field/lexical/LexicalEditor.js +11 -6
  126. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  127. package/dist/field/lexical/LexicalProvider.js +3 -2
  128. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +1 -1
  129. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +7 -4
  130. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +1 -1
  131. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +7 -4
  132. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -1
  133. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +7 -4
  134. package/dist/field/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  135. package/dist/field/lexical/plugins/MarkdownShortcut/index.js +3 -2
  136. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  137. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +7 -4
  138. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  139. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +7 -4
  140. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  141. package/dist/field/lexical/plugins/SlashMenu/index.js +3 -2
  142. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  143. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +5 -4
  144. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.d.ts.map +1 -1
  145. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js +3 -2
  146. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  147. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +5 -3
  148. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.d.ts.map +1 -1
  149. package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +3 -2
  150. package/dist/field/lexical/ui/ContentEditable.d.ts.map +1 -1
  151. package/dist/field/lexical/ui/ContentEditable.js +3 -2
  152. package/dist/field/lexical/utils/getSelectedNode.d.ts +1 -1
  153. package/dist/field/lexical/utils/getSelectedNode.d.ts.map +1 -1
  154. package/dist/field/lexical/utils/getSelectedNode.js +3 -2
  155. package/package.json +7 -7
@@ -1,5 +1,6 @@
1
1
  'use client';
2
- import { INDENT_CONTENT_COMMAND, OUTDENT_CONTENT_COMMAND } from 'lexical';
2
+ import lexicalImport from 'lexical';
3
+ const { INDENT_CONTENT_COMMAND, OUTDENT_CONTENT_COMMAND } = lexicalImport;
3
4
  import { IndentDecreaseIcon } from '../../lexical/ui/icons/IndentDecrease/index.js';
4
5
  import { IndentIncreaseIcon } from '../../lexical/ui/icons/IndentIncrease/index.js';
5
6
  import { createClientComponent } from '../createClientComponent.js';
@@ -54,4 +55,4 @@ const IndentFeatureClient = (props)=>{
54
55
  };
55
56
  export const IndentFeatureClientComponent = createClientComponent(IndentFeatureClient);
56
57
 
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9pbmRlbnQvZmVhdHVyZS5jbGllbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyBJTkRFTlRfQ09OVEVOVF9DT01NQU5ELCBPVVRERU5UX0NPTlRFTlRfQ09NTUFORCB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB0eXBlIHsgRmVhdHVyZVByb3ZpZGVyUHJvdmlkZXJDbGllbnQgfSBmcm9tICcuLi90eXBlcy5qcydcblxuaW1wb3J0IHsgSW5kZW50RGVjcmVhc2VJY29uIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91aS9pY29ucy9JbmRlbnREZWNyZWFzZS9pbmRleC5qcydcbmltcG9ydCB7IEluZGVudEluY3JlYXNlSWNvbiB9IGZyb20gJy4uLy4uL2xleGljYWwvdWkvaWNvbnMvSW5kZW50SW5jcmVhc2UvaW5kZXguanMnXG5pbXBvcnQgeyBjcmVhdGVDbGllbnRDb21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGVDbGllbnRDb21wb25lbnQuanMnXG5pbXBvcnQgeyBJbmRlbnRTZWN0aW9uV2l0aEVudHJpZXMgfSBmcm9tICcuL2Zsb2F0aW5nU2VsZWN0VG9vbGJhckluZGVudFNlY3Rpb24uanMnXG5cbmNvbnN0IEluZGVudEZlYXR1cmVDbGllbnQ6IEZlYXR1cmVQcm92aWRlclByb3ZpZGVyQ2xpZW50PHVuZGVmaW5lZD4gPSAocHJvcHMpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBjbGllbnRGZWF0dXJlUHJvcHM6IHByb3BzLFxuICAgIGZlYXR1cmU6ICgpID0+ICh7XG4gICAgICBjbGllbnRGZWF0dXJlUHJvcHM6IHByb3BzLFxuICAgICAgZmxvYXRpbmdTZWxlY3RUb29sYmFyOiB7XG4gICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgSW5kZW50U2VjdGlvbldpdGhFbnRyaWVzKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQ2hpbGRDb21wb25lbnQ6IEluZGVudERlY3JlYXNlSWNvbixcbiAgICAgICAgICAgICAgaXNBY3RpdmU6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgICBpc0VuYWJsZWQ6ICh7IHNlbGVjdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWxlY3Rpb24gfHwgIXNlbGVjdGlvbj8uZ2V0Tm9kZXMoKT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIHNlbGVjdGlvbi5nZXROb2RlcygpKSB7XG4gICAgICAgICAgICAgICAgICAvLyBJZiBhdCBsZWFzdCBvbmUgbm9kZSBpcyBpbmRlbnRlZCwgdGhpcyBzaG91bGQgYmUgYWN0aXZlXG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICgnX19pbmRlbnQnIGluIG5vZGUgJiYgKG5vZGUuX19pbmRlbnQgYXMgbnVtYmVyKSA+IDApIHx8XG4gICAgICAgICAgICAgICAgICAgIChub2RlLmdldFBhcmVudCgpICYmXG4gICAgICAgICAgICAgICAgICAgICAgJ19faW5kZW50JyBpbiBub2RlLmdldFBhcmVudCgpICYmXG4gICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRQYXJlbnQoKS5fX2luZGVudCA+IDApXG4gICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGtleTogJ2luZGVudC1kZWNyZWFzZScsXG4gICAgICAgICAgICAgIGxhYmVsOiBgRGVjcmVhc2UgSW5kZW50YCxcbiAgICAgICAgICAgICAgb25DbGljazogKHsgZWRpdG9yIH0pID0+IHtcbiAgICAgICAgICAgICAgICBlZGl0b3IuZGlzcGF0Y2hDb21tYW5kKE9VVERFTlRfQ09OVEVOVF9DT01NQU5ELCB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBJbmRlbnRTZWN0aW9uV2l0aEVudHJpZXMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBDaGlsZENvbXBvbmVudDogSW5kZW50SW5jcmVhc2VJY29uLFxuICAgICAgICAgICAgICBpc0FjdGl2ZTogKCkgPT4gZmFsc2UsXG4gICAgICAgICAgICAgIGtleTogJ2luZGVudC1pbmNyZWFzZScsXG4gICAgICAgICAgICAgIGxhYmVsOiBgSW5jcmVhc2UgSW5kZW50YCxcbiAgICAgICAgICAgICAgb25DbGljazogKHsgZWRpdG9yIH0pID0+IHtcbiAgICAgICAgICAgICAgICBlZGl0b3IuZGlzcGF0Y2hDb21tYW5kKElOREVOVF9DT05URU5UX0NPTU1BTkQsIHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgSW5kZW50RmVhdHVyZUNsaWVudENvbXBvbmVudCA9IGNyZWF0ZUNsaWVudENvbXBvbmVudChJbmRlbnRGZWF0dXJlQ2xpZW50KVxuIl0sIm5hbWVzIjpbIklOREVOVF9DT05URU5UX0NPTU1BTkQiLCJPVVRERU5UX0NPTlRFTlRfQ09NTUFORCIsIkluZGVudERlY3JlYXNlSWNvbiIsIkluZGVudEluY3JlYXNlSWNvbiIsImNyZWF0ZUNsaWVudENvbXBvbmVudCIsIkluZGVudFNlY3Rpb25XaXRoRW50cmllcyIsIkluZGVudEZlYXR1cmVDbGllbnQiLCJwcm9wcyIsImNsaWVudEZlYXR1cmVQcm9wcyIsImZlYXR1cmUiLCJmbG9hdGluZ1NlbGVjdFRvb2xiYXIiLCJzZWN0aW9ucyIsIkNoaWxkQ29tcG9uZW50IiwiaXNBY3RpdmUiLCJpc0VuYWJsZWQiLCJzZWxlY3Rpb24iLCJnZXROb2RlcyIsImxlbmd0aCIsIm5vZGUiLCJfX2luZGVudCIsImdldFBhcmVudCIsImtleSIsImxhYmVsIiwib25DbGljayIsImVkaXRvciIsImRpc3BhdGNoQ29tbWFuZCIsInVuZGVmaW5lZCIsIm9yZGVyIiwiSW5kZW50RmVhdHVyZUNsaWVudENvbXBvbmVudCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQSxTQUFTQSxzQkFBc0IsRUFBRUMsdUJBQXVCLFFBQVEsVUFBUztBQUl6RSxTQUFTQyxrQkFBa0IsUUFBUSxpREFBZ0Q7QUFDbkYsU0FBU0Msa0JBQWtCLFFBQVEsaURBQWdEO0FBQ25GLFNBQVNDLHFCQUFxQixRQUFRLDhCQUE2QjtBQUNuRSxTQUFTQyx3QkFBd0IsUUFBUSwwQ0FBeUM7QUFFbEYsTUFBTUMsc0JBQWdFLENBQUNDO0lBQ3JFLE9BQU87UUFDTEMsb0JBQW9CRDtRQUNwQkUsU0FBUyxJQUFPLENBQUE7Z0JBQ2RELG9CQUFvQkQ7Z0JBQ3BCRyx1QkFBdUI7b0JBQ3JCQyxVQUFVO3dCQUNSTix5QkFBeUI7NEJBQ3ZCO2dDQUNFTyxnQkFBZ0JWO2dDQUNoQlcsVUFBVSxJQUFNO2dDQUNoQkMsV0FBVyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtvQ0FDdkIsSUFBSSxDQUFDQSxhQUFhLENBQUNBLFdBQVdDLFlBQVlDLFFBQVE7d0NBQ2hELE9BQU87b0NBQ1Q7b0NBQ0EsS0FBSyxNQUFNQyxRQUFRSCxVQUFVQyxRQUFRLEdBQUk7d0NBQ3ZDLDBEQUEwRDt3Q0FDMUQsSUFDRSxBQUFDLGNBQWNFLFFBQVEsQUFBQ0EsS0FBS0MsUUFBUSxHQUFjLEtBQ2xERCxLQUFLRSxTQUFTLE1BQ2IsY0FBY0YsS0FBS0UsU0FBUyxNQUM1QkYsS0FBS0UsU0FBUyxHQUFHRCxRQUFRLEdBQUcsR0FDOUI7NENBQ0EsT0FBTzt3Q0FDVDtvQ0FDRjtvQ0FDQSxPQUFPO2dDQUNUO2dDQUNBRSxLQUFLO2dDQUNMQyxPQUFPLENBQUMsZUFBZSxDQUFDO2dDQUN4QkMsU0FBUyxDQUFDLEVBQUVDLE1BQU0sRUFBRTtvQ0FDbEJBLE9BQU9DLGVBQWUsQ0FBQ3hCLHlCQUF5QnlCO2dDQUNsRDtnQ0FDQUMsT0FBTzs0QkFDVDt5QkFDRDt3QkFDRHRCLHlCQUF5Qjs0QkFDdkI7Z0NBQ0VPLGdCQUFnQlQ7Z0NBQ2hCVSxVQUFVLElBQU07Z0NBQ2hCUSxLQUFLO2dDQUNMQyxPQUFPLENBQUMsZUFBZSxDQUFDO2dDQUN4QkMsU0FBUyxDQUFDLEVBQUVDLE1BQU0sRUFBRTtvQ0FDbEJBLE9BQU9DLGVBQWUsQ0FBQ3pCLHdCQUF3QjBCO2dDQUNqRDtnQ0FDQUMsT0FBTzs0QkFDVDt5QkFDRDtxQkFDRjtnQkFDSDtZQUNGLENBQUE7SUFDRjtBQUNGO0FBRUEsT0FBTyxNQUFNQywrQkFBK0J4QixzQkFBc0JFLHFCQUFvQiJ9
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9pbmRlbnQvZmVhdHVyZS5jbGllbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgbGV4aWNhbEltcG9ydCBmcm9tICdsZXhpY2FsJ1xuY29uc3QgeyBJTkRFTlRfQ09OVEVOVF9DT01NQU5ELCBPVVRERU5UX0NPTlRFTlRfQ09NTUFORCB9ID0gbGV4aWNhbEltcG9ydFxuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlclByb3ZpZGVyQ2xpZW50IH0gZnJvbSAnLi4vdHlwZXMuanMnXG5cbmltcG9ydCB7IEluZGVudERlY3JlYXNlSWNvbiB9IGZyb20gJy4uLy4uL2xleGljYWwvdWkvaWNvbnMvSW5kZW50RGVjcmVhc2UvaW5kZXguanMnXG5pbXBvcnQgeyBJbmRlbnRJbmNyZWFzZUljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0luZGVudEluY3JlYXNlL2luZGV4LmpzJ1xuaW1wb3J0IHsgY3JlYXRlQ2xpZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY3JlYXRlQ2xpZW50Q29tcG9uZW50LmpzJ1xuaW1wb3J0IHsgSW5kZW50U2VjdGlvbldpdGhFbnRyaWVzIH0gZnJvbSAnLi9mbG9hdGluZ1NlbGVjdFRvb2xiYXJJbmRlbnRTZWN0aW9uLmpzJ1xuXG5jb25zdCBJbmRlbnRGZWF0dXJlQ2xpZW50OiBGZWF0dXJlUHJvdmlkZXJQcm92aWRlckNsaWVudDx1bmRlZmluZWQ+ID0gKHByb3BzKSA9PiB7XG4gIHJldHVybiB7XG4gICAgY2xpZW50RmVhdHVyZVByb3BzOiBwcm9wcyxcbiAgICBmZWF0dXJlOiAoKSA9PiAoe1xuICAgICAgY2xpZW50RmVhdHVyZVByb3BzOiBwcm9wcyxcbiAgICAgIGZsb2F0aW5nU2VsZWN0VG9vbGJhcjoge1xuICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgIEluZGVudFNlY3Rpb25XaXRoRW50cmllcyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIENoaWxkQ29tcG9uZW50OiBJbmRlbnREZWNyZWFzZUljb24sXG4gICAgICAgICAgICAgIGlzQWN0aXZlOiAoKSA9PiBmYWxzZSxcbiAgICAgICAgICAgICAgaXNFbmFibGVkOiAoeyBzZWxlY3Rpb24gfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghc2VsZWN0aW9uIHx8ICFzZWxlY3Rpb24/LmdldE5vZGVzKCk/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBzZWxlY3Rpb24uZ2V0Tm9kZXMoKSkge1xuICAgICAgICAgICAgICAgICAgLy8gSWYgYXQgbGVhc3Qgb25lIG5vZGUgaXMgaW5kZW50ZWQsIHRoaXMgc2hvdWxkIGJlIGFjdGl2ZVxuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAoJ19faW5kZW50JyBpbiBub2RlICYmIChub2RlLl9faW5kZW50IGFzIG51bWJlcikgPiAwKSB8fFxuICAgICAgICAgICAgICAgICAgICAobm9kZS5nZXRQYXJlbnQoKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICdfX2luZGVudCcgaW4gbm9kZS5nZXRQYXJlbnQoKSAmJlxuICAgICAgICAgICAgICAgICAgICAgIG5vZGUuZ2V0UGFyZW50KCkuX19pbmRlbnQgPiAwKVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBrZXk6ICdpbmRlbnQtZGVjcmVhc2UnLFxuICAgICAgICAgICAgICBsYWJlbDogYERlY3JlYXNlIEluZGVudGAsXG4gICAgICAgICAgICAgIG9uQ2xpY2s6ICh7IGVkaXRvciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChPVVRERU5UX0NPTlRFTlRfQ09NTUFORCwgdW5kZWZpbmVkKVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcmRlcjogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSksXG4gICAgICAgICAgSW5kZW50U2VjdGlvbldpdGhFbnRyaWVzKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQ2hpbGRDb21wb25lbnQ6IEluZGVudEluY3JlYXNlSWNvbixcbiAgICAgICAgICAgICAgaXNBY3RpdmU6ICgpID0+IGZhbHNlLFxuICAgICAgICAgICAgICBrZXk6ICdpbmRlbnQtaW5jcmVhc2UnLFxuICAgICAgICAgICAgICBsYWJlbDogYEluY3JlYXNlIEluZGVudGAsXG4gICAgICAgICAgICAgIG9uQ2xpY2s6ICh7IGVkaXRvciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChJTkRFTlRfQ09OVEVOVF9DT01NQU5ELCB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSksXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEluZGVudEZlYXR1cmVDbGllbnRDb21wb25lbnQgPSBjcmVhdGVDbGllbnRDb21wb25lbnQoSW5kZW50RmVhdHVyZUNsaWVudClcbiJdLCJuYW1lcyI6WyJsZXhpY2FsSW1wb3J0IiwiSU5ERU5UX0NPTlRFTlRfQ09NTUFORCIsIk9VVERFTlRfQ09OVEVOVF9DT01NQU5EIiwiSW5kZW50RGVjcmVhc2VJY29uIiwiSW5kZW50SW5jcmVhc2VJY29uIiwiY3JlYXRlQ2xpZW50Q29tcG9uZW50IiwiSW5kZW50U2VjdGlvbldpdGhFbnRyaWVzIiwiSW5kZW50RmVhdHVyZUNsaWVudCIsInByb3BzIiwiY2xpZW50RmVhdHVyZVByb3BzIiwiZmVhdHVyZSIsImZsb2F0aW5nU2VsZWN0VG9vbGJhciIsInNlY3Rpb25zIiwiQ2hpbGRDb21wb25lbnQiLCJpc0FjdGl2ZSIsImlzRW5hYmxlZCIsInNlbGVjdGlvbiIsImdldE5vZGVzIiwibGVuZ3RoIiwibm9kZSIsIl9faW5kZW50IiwiZ2V0UGFyZW50Iiwia2V5IiwibGFiZWwiLCJvbkNsaWNrIiwiZWRpdG9yIiwiZGlzcGF0Y2hDb21tYW5kIiwidW5kZWZpbmVkIiwib3JkZXIiLCJJbmRlbnRGZWF0dXJlQ2xpZW50Q29tcG9uZW50Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUVBLE9BQU9BLG1CQUFtQixVQUFTO0FBQ25DLE1BQU0sRUFBRUMsc0JBQXNCLEVBQUVDLHVCQUF1QixFQUFFLEdBQUdGO0FBSTVELFNBQVNHLGtCQUFrQixRQUFRLGlEQUFnRDtBQUNuRixTQUFTQyxrQkFBa0IsUUFBUSxpREFBZ0Q7QUFDbkYsU0FBU0MscUJBQXFCLFFBQVEsOEJBQTZCO0FBQ25FLFNBQVNDLHdCQUF3QixRQUFRLDBDQUF5QztBQUVsRixNQUFNQyxzQkFBZ0UsQ0FBQ0M7SUFDckUsT0FBTztRQUNMQyxvQkFBb0JEO1FBQ3BCRSxTQUFTLElBQU8sQ0FBQTtnQkFDZEQsb0JBQW9CRDtnQkFDcEJHLHVCQUF1QjtvQkFDckJDLFVBQVU7d0JBQ1JOLHlCQUF5Qjs0QkFDdkI7Z0NBQ0VPLGdCQUFnQlY7Z0NBQ2hCVyxVQUFVLElBQU07Z0NBQ2hCQyxXQUFXLENBQUMsRUFBRUMsU0FBUyxFQUFFO29DQUN2QixJQUFJLENBQUNBLGFBQWEsQ0FBQ0EsV0FBV0MsWUFBWUMsUUFBUTt3Q0FDaEQsT0FBTztvQ0FDVDtvQ0FDQSxLQUFLLE1BQU1DLFFBQVFILFVBQVVDLFFBQVEsR0FBSTt3Q0FDdkMsMERBQTBEO3dDQUMxRCxJQUNFLEFBQUMsY0FBY0UsUUFBUSxBQUFDQSxLQUFLQyxRQUFRLEdBQWMsS0FDbERELEtBQUtFLFNBQVMsTUFDYixjQUFjRixLQUFLRSxTQUFTLE1BQzVCRixLQUFLRSxTQUFTLEdBQUdELFFBQVEsR0FBRyxHQUM5Qjs0Q0FDQSxPQUFPO3dDQUNUO29DQUNGO29DQUNBLE9BQU87Z0NBQ1Q7Z0NBQ0FFLEtBQUs7Z0NBQ0xDLE9BQU8sQ0FBQyxlQUFlLENBQUM7Z0NBQ3hCQyxTQUFTLENBQUMsRUFBRUMsTUFBTSxFQUFFO29DQUNsQkEsT0FBT0MsZUFBZSxDQUFDeEIseUJBQXlCeUI7Z0NBQ2xEO2dDQUNBQyxPQUFPOzRCQUNUO3lCQUNEO3dCQUNEdEIseUJBQXlCOzRCQUN2QjtnQ0FDRU8sZ0JBQWdCVDtnQ0FDaEJVLFVBQVUsSUFBTTtnQ0FDaEJRLEtBQUs7Z0NBQ0xDLE9BQU8sQ0FBQyxlQUFlLENBQUM7Z0NBQ3hCQyxTQUFTLENBQUMsRUFBRUMsTUFBTSxFQUFFO29DQUNsQkEsT0FBT0MsZUFBZSxDQUFDekIsd0JBQXdCMEI7Z0NBQ2pEO2dDQUNBQyxPQUFPOzRCQUNUO3lCQUNEO3FCQUNGO2dCQUNIO1lBQ0YsQ0FBQTtJQUNGO0FBQ0Y7QUFFQSxPQUFPLE1BQU1DLCtCQUErQnhCLHNCQUFzQkUscUJBQW9CIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../../src/field/features/link/feature.client.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAexE,MAAM,MAAM,WAAW,GAAG,6BAA6B,CAAA;AAuEvD,eAAO,MAAM,0BAA0B,+FAA2C,CAAA"}
1
+ {"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../../src/field/features/link/feature.client.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAexE,MAAM,MAAM,WAAW,GAAG,6BAA6B,CAAA;AAuEvD,eAAO,MAAM,0BAA0B,+FAA2C,CAAA"}
@@ -1,6 +1,8 @@
1
1
  'use client';
2
- import { $findMatchingParent } from '@lexical/utils';
3
- import { $getSelection, $isRangeSelection } from 'lexical';
2
+ import lexicalUtilsImport from '@lexical/utils';
3
+ const { $findMatchingParent } = lexicalUtilsImport;
4
+ import lexicalImport from 'lexical';
5
+ const { $getSelection, $isRangeSelection } = lexicalImport;
4
6
  import { LinkIcon } from '../../lexical/ui/icons/Link/index.js';
5
7
  import { getSelectedNode } from '../../lexical/utils/getSelectedNode.js';
6
8
  import { FeaturesSectionWithEntries } from '../common/floatingSelectToolbarFeaturesButtonsSection/index.js';
@@ -85,4 +87,4 @@ const LinkFeatureClient = (props)=>{
85
87
  };
86
88
  export const LinkFeatureClientComponent = createClientComponent(LinkFeatureClient);
87
89
 
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL2ZlYXR1cmUuY2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgJGZpbmRNYXRjaGluZ1BhcmVudCB9IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuaW1wb3J0IHsgJGdldFNlbGVjdGlvbiwgJGlzUmFuZ2VTZWxlY3Rpb24gfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVQcm92aWRlclByb3ZpZGVyQ2xpZW50IH0gZnJvbSAnLi4vdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEV4Y2x1c2l2ZUxpbmtDb2xsZWN0aW9uc1Byb3BzIH0gZnJvbSAnLi9mZWF0dXJlLnNlcnZlci5qcydcbmltcG9ydCB0eXBlIHsgTGlua0ZpZWxkcyB9IGZyb20gJy4vbm9kZXMvdHlwZXMuanMnXG5cbmltcG9ydCB7IExpbmtJY29uIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91aS9pY29ucy9MaW5rL2luZGV4LmpzJ1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWROb2RlIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91dGlscy9nZXRTZWxlY3RlZE5vZGUuanMnXG5pbXBvcnQgeyBGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyB9IGZyb20gJy4uL2NvbW1vbi9mbG9hdGluZ1NlbGVjdFRvb2xiYXJGZWF0dXJlc0J1dHRvbnNTZWN0aW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgY3JlYXRlQ2xpZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY3JlYXRlQ2xpZW50Q29tcG9uZW50LmpzJ1xuaW1wb3J0IHsgQXV0b0xpbmtOb2RlIH0gZnJvbSAnLi9ub2Rlcy9BdXRvTGlua05vZGUuanMnXG5pbXBvcnQgeyAkaXNMaW5rTm9kZSwgTGlua05vZGUsIFRPR0dMRV9MSU5LX0NPTU1BTkQgfSBmcm9tICcuL25vZGVzL0xpbmtOb2RlLmpzJ1xuaW1wb3J0IHsgQXV0b0xpbmtQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvYXV0b0xpbmsvaW5kZXguanMnXG5pbXBvcnQgeyBDbGlja2FibGVMaW5rUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2NsaWNrYWJsZUxpbmsvaW5kZXguanMnXG5pbXBvcnQgeyBUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQgfSBmcm9tICcuL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvY29tbWFuZHMuanMnXG5pbXBvcnQgeyBGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL2luZGV4LmpzJ1xuaW1wb3J0IHsgTGlua1BsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2luZGV4LmpzJ1xuXG5leHBvcnQgdHlwZSBDbGllbnRQcm9wcyA9IEV4Y2x1c2l2ZUxpbmtDb2xsZWN0aW9uc1Byb3BzXG5cbmNvbnN0IExpbmtGZWF0dXJlQ2xpZW50OiBGZWF0dXJlUHJvdmlkZXJQcm92aWRlckNsaWVudDxDbGllbnRQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBjbGllbnRGZWF0dXJlUHJvcHM6IHByb3BzLFxuICAgIGZlYXR1cmU6ICgpID0+ICh7XG4gICAgICBjbGllbnRGZWF0dXJlUHJvcHM6IHByb3BzLFxuICAgICAgZmxvYXRpbmdTZWxlY3RUb29sYmFyOiB7XG4gICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgRmVhdHVyZXNTZWN0aW9uV2l0aEVudHJpZXMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBDaGlsZENvbXBvbmVudDogTGlua0ljb24sXG4gICAgICAgICAgICAgIGlzQWN0aXZlOiAoeyBzZWxlY3Rpb24gfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGUgPSBnZXRTZWxlY3RlZE5vZGUoc2VsZWN0aW9uKVxuICAgICAgICAgICAgICAgICAgY29uc3QgbGlua1BhcmVudCA9ICRmaW5kTWF0Y2hpbmdQYXJlbnQoc2VsZWN0ZWROb2RlLCAkaXNMaW5rTm9kZSlcbiAgICAgICAgICAgICAgICAgIHJldHVybiBsaW5rUGFyZW50ICE9IG51bGxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGtleTogJ2xpbmsnLFxuICAgICAgICAgICAgICBsYWJlbDogYExpbmtgLFxuICAgICAgICAgICAgICBvbkNsaWNrOiAoeyBlZGl0b3IsIGlzQWN0aXZlIH0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRUZXh0ID0gbnVsbFxuICAgICAgICAgICAgICAgICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVGV4dCA9ICRnZXRTZWxlY3Rpb24oKS5nZXRUZXh0Q29udGVudCgpXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgY29uc3QgbGlua0ZpZWxkczogTGlua0ZpZWxkcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgZG9jOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBsaW5rVHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgICAgICAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vJyxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5ELCB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogbGlua0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogc2VsZWN0ZWRUZXh0LFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlIGxpbmtcbiAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbnVsbClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBub2RlczogW0xpbmtOb2RlLCBBdXRvTGlua05vZGVdLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICB7XG4gICAgICAgICAgQ29tcG9uZW50OiBMaW5rUGx1Z2luLFxuICAgICAgICAgIHBvc2l0aW9uOiAnbm9ybWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIENvbXBvbmVudDogQXV0b0xpbmtQbHVnaW4sXG4gICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgQ29tcG9uZW50OiBDbGlja2FibGVMaW5rUGx1Z2luLFxuICAgICAgICAgIHBvc2l0aW9uOiAnbm9ybWFsJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIENvbXBvbmVudDogRmxvYXRpbmdMaW5rRWRpdG9yUGx1Z2luLFxuICAgICAgICAgIHBvc2l0aW9uOiAnZmxvYXRpbmdBbmNob3JFbGVtJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IExpbmtGZWF0dXJlQ2xpZW50Q29tcG9uZW50ID0gY3JlYXRlQ2xpZW50Q29tcG9uZW50KExpbmtGZWF0dXJlQ2xpZW50KVxuIl0sIm5hbWVzIjpbIiRmaW5kTWF0Y2hpbmdQYXJlbnQiLCIkZ2V0U2VsZWN0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJMaW5rSWNvbiIsImdldFNlbGVjdGVkTm9kZSIsIkZlYXR1cmVzU2VjdGlvbldpdGhFbnRyaWVzIiwiY3JlYXRlQ2xpZW50Q29tcG9uZW50IiwiQXV0b0xpbmtOb2RlIiwiJGlzTGlua05vZGUiLCJMaW5rTm9kZSIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJBdXRvTGlua1BsdWdpbiIsIkNsaWNrYWJsZUxpbmtQbHVnaW4iLCJUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQiLCJGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4iLCJMaW5rUGx1Z2luIiwiTGlua0ZlYXR1cmVDbGllbnQiLCJwcm9wcyIsImNsaWVudEZlYXR1cmVQcm9wcyIsImZlYXR1cmUiLCJmbG9hdGluZ1NlbGVjdFRvb2xiYXIiLCJzZWN0aW9ucyIsIkNoaWxkQ29tcG9uZW50IiwiaXNBY3RpdmUiLCJzZWxlY3Rpb24iLCJzZWxlY3RlZE5vZGUiLCJsaW5rUGFyZW50Iiwia2V5IiwibGFiZWwiLCJvbkNsaWNrIiwiZWRpdG9yIiwic2VsZWN0ZWRUZXh0IiwiZ2V0RWRpdG9yU3RhdGUiLCJyZWFkIiwiZ2V0VGV4dENvbnRlbnQiLCJsaW5rRmllbGRzIiwiZG9jIiwibGlua1R5cGUiLCJuZXdUYWIiLCJ1cmwiLCJkaXNwYXRjaENvbW1hbmQiLCJmaWVsZHMiLCJ0ZXh0Iiwib3JkZXIiLCJub2RlcyIsInBsdWdpbnMiLCJDb21wb25lbnQiLCJwb3NpdGlvbiIsIkxpbmtGZWF0dXJlQ2xpZW50Q29tcG9uZW50Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUVBLFNBQVNBLG1CQUFtQixRQUFRLGlCQUFnQjtBQUNwRCxTQUFTQyxhQUFhLEVBQUVDLGlCQUFpQixRQUFRLFVBQVM7QUFNMUQsU0FBU0MsUUFBUSxRQUFRLHVDQUFzQztBQUMvRCxTQUFTQyxlQUFlLFFBQVEseUNBQXdDO0FBQ3hFLFNBQVNDLDBCQUEwQixRQUFRLGlFQUFnRTtBQUMzRyxTQUFTQyxxQkFBcUIsUUFBUSw4QkFBNkI7QUFDbkUsU0FBU0MsWUFBWSxRQUFRLDBCQUF5QjtBQUN0RCxTQUFTQyxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsbUJBQW1CLFFBQVEsc0JBQXFCO0FBQ2hGLFNBQVNDLGNBQWMsUUFBUSw4QkFBNkI7QUFDNUQsU0FBU0MsbUJBQW1CLFFBQVEsbUNBQWtDO0FBQ3RFLFNBQVNDLDhCQUE4QixRQUFRLHNEQUFxRDtBQUNwRyxTQUFTQyx3QkFBd0IsUUFBUSx3Q0FBdUM7QUFDaEYsU0FBU0MsVUFBVSxRQUFRLDBCQUF5QjtBQUlwRCxNQUFNQyxvQkFBZ0UsQ0FBQ0M7SUFDckUsT0FBTztRQUNMQyxvQkFBb0JEO1FBQ3BCRSxTQUFTLElBQU8sQ0FBQTtnQkFDZEQsb0JBQW9CRDtnQkFDcEJHLHVCQUF1QjtvQkFDckJDLFVBQVU7d0JBQ1JoQiwyQkFBMkI7NEJBQ3pCO2dDQUNFaUIsZ0JBQWdCbkI7Z0NBQ2hCb0IsVUFBVSxDQUFDLEVBQUVDLFNBQVMsRUFBRTtvQ0FDdEIsSUFBSXRCLGtCQUFrQnNCLFlBQVk7d0NBQ2hDLE1BQU1DLGVBQWVyQixnQkFBZ0JvQjt3Q0FDckMsTUFBTUUsYUFBYTFCLG9CQUFvQnlCLGNBQWNqQjt3Q0FDckQsT0FBT2tCLGNBQWM7b0NBQ3ZCO29DQUNBLE9BQU87Z0NBQ1Q7Z0NBQ0FDLEtBQUs7Z0NBQ0xDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0NBQ2JDLFNBQVMsQ0FBQyxFQUFFQyxNQUFNLEVBQUVQLFFBQVEsRUFBRTtvQ0FDNUIsSUFBSSxDQUFDQSxVQUFVO3dDQUNiLElBQUlRLGVBQWU7d0NBQ25CRCxPQUFPRSxjQUFjLEdBQUdDLElBQUksQ0FBQzs0Q0FDM0JGLGVBQWU5QixnQkFBZ0JpQyxjQUFjO3dDQUMvQzt3Q0FDQSxNQUFNQyxhQUF5Qjs0Q0FDN0JDLEtBQUs7NENBQ0xDLFVBQVU7NENBQ1ZDLFFBQVE7NENBQ1JDLEtBQUs7d0NBQ1A7d0NBQ0FULE9BQU9VLGVBQWUsQ0FBQzNCLGdDQUFnQzs0Q0FDckQ0QixRQUFRTjs0Q0FDUk8sTUFBTVg7d0NBQ1I7b0NBQ0YsT0FBTzt3Q0FDTCxjQUFjO3dDQUNkRCxPQUFPVSxlQUFlLENBQUM5QixxQkFBcUI7b0NBQzlDO2dDQUNGO2dDQUNBaUMsT0FBTzs0QkFDVDt5QkFDRDtxQkFDRjtnQkFDSDtnQkFDQUMsT0FBTztvQkFBQ25DO29CQUFVRjtpQkFBYTtnQkFDL0JzQyxTQUFTO29CQUNQO3dCQUNFQyxXQUFXL0I7d0JBQ1hnQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXbkM7d0JBQ1hvQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXbEM7d0JBQ1htQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXaEM7d0JBQ1hpQyxVQUFVO29CQUNaO2lCQUNEO1lBQ0gsQ0FBQTtJQUNGO0FBQ0Y7QUFFQSxPQUFPLE1BQU1DLDZCQUE2QjFDLHNCQUFzQlUsbUJBQWtCIn0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL2ZlYXR1cmUuY2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IGxleGljYWxVdGlsc0ltcG9ydCBmcm9tICdAbGV4aWNhbC91dGlscydcbmNvbnN0IHsgJGZpbmRNYXRjaGluZ1BhcmVudCB9ID0gbGV4aWNhbFV0aWxzSW1wb3J0XG5cbmltcG9ydCBsZXhpY2FsSW1wb3J0IGZyb20gJ2xleGljYWwnXG5jb25zdCB7ICRnZXRTZWxlY3Rpb24sICRpc1JhbmdlU2VsZWN0aW9uIH0gPSBsZXhpY2FsSW1wb3J0XG5cbmltcG9ydCB0eXBlIHsgRmVhdHVyZVByb3ZpZGVyUHJvdmlkZXJDbGllbnQgfSBmcm9tICcuLi90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgRXhjbHVzaXZlTGlua0NvbGxlY3Rpb25zUHJvcHMgfSBmcm9tICcuL2ZlYXR1cmUuc2VydmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBMaW5rRmllbGRzIH0gZnJvbSAnLi9ub2Rlcy90eXBlcy5qcydcblxuaW1wb3J0IHsgTGlua0ljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0xpbmsvaW5kZXguanMnXG5pbXBvcnQgeyBnZXRTZWxlY3RlZE5vZGUgfSBmcm9tICcuLi8uLi9sZXhpY2FsL3V0aWxzL2dldFNlbGVjdGVkTm9kZS5qcydcbmltcG9ydCB7IEZlYXR1cmVzU2VjdGlvbldpdGhFbnRyaWVzIH0gZnJvbSAnLi4vY29tbW9uL2Zsb2F0aW5nU2VsZWN0VG9vbGJhckZlYXR1cmVzQnV0dG9uc1NlY3Rpb24vaW5kZXguanMnXG5pbXBvcnQgeyBjcmVhdGVDbGllbnRDb21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGVDbGllbnRDb21wb25lbnQuanMnXG5pbXBvcnQgeyBBdXRvTGlua05vZGUgfSBmcm9tICcuL25vZGVzL0F1dG9MaW5rTm9kZS5qcydcbmltcG9ydCB7ICRpc0xpbmtOb2RlLCBMaW5rTm9kZSwgVE9HR0xFX0xJTktfQ09NTUFORCB9IGZyb20gJy4vbm9kZXMvTGlua05vZGUuanMnXG5pbXBvcnQgeyBBdXRvTGlua1BsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9hdXRvTGluay9pbmRleC5qcydcbmltcG9ydCB7IENsaWNrYWJsZUxpbmtQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvY2xpY2thYmxlTGluay9pbmRleC5qcydcbmltcG9ydCB7IFRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCB9IGZyb20gJy4vcGx1Z2lucy9mbG9hdGluZ0xpbmtFZGl0b3IvTGlua0VkaXRvci9jb21tYW5kcy5qcydcbmltcG9ydCB7IEZsb2F0aW5nTGlua0VkaXRvclBsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9mbG9hdGluZ0xpbmtFZGl0b3IvaW5kZXguanMnXG5pbXBvcnQgeyBMaW5rUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvaW5kZXguanMnXG5cbmV4cG9ydCB0eXBlIENsaWVudFByb3BzID0gRXhjbHVzaXZlTGlua0NvbGxlY3Rpb25zUHJvcHNcblxuY29uc3QgTGlua0ZlYXR1cmVDbGllbnQ6IEZlYXR1cmVQcm92aWRlclByb3ZpZGVyQ2xpZW50PENsaWVudFByb3BzPiA9IChwcm9wcykgPT4ge1xuICByZXR1cm4ge1xuICAgIGNsaWVudEZlYXR1cmVQcm9wczogcHJvcHMsXG4gICAgZmVhdHVyZTogKCkgPT4gKHtcbiAgICAgIGNsaWVudEZlYXR1cmVQcm9wczogcHJvcHMsXG4gICAgICBmbG9hdGluZ1NlbGVjdFRvb2xiYXI6IHtcbiAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICBGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIENoaWxkQ29tcG9uZW50OiBMaW5rSWNvbixcbiAgICAgICAgICAgICAgaXNBY3RpdmU6ICh7IHNlbGVjdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICBjb25zdCBsaW5rUGFyZW50ID0gJGZpbmRNYXRjaGluZ1BhcmVudChzZWxlY3RlZE5vZGUsICRpc0xpbmtOb2RlKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGxpbmtQYXJlbnQgIT0gbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAga2V5OiAnbGluaycsXG4gICAgICAgICAgICAgIGxhYmVsOiBgTGlua2AsXG4gICAgICAgICAgICAgIG9uQ2xpY2s6ICh7IGVkaXRvciwgaXNBY3RpdmUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZFRleHQgPSBudWxsXG4gICAgICAgICAgICAgICAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUZXh0ID0gJGdldFNlbGVjdGlvbigpLmdldFRleHRDb250ZW50KClcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICBjb25zdCBsaW5rRmllbGRzOiBMaW5rRmllbGRzID0ge1xuICAgICAgICAgICAgICAgICAgICBkb2M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICAgICAgICAgICAgbmV3VGFiOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly8nLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQsIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBsaW5rRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBzZWxlY3RlZFRleHQsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyByZW1vdmUgbGlua1xuICAgICAgICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19DT01NQU5ELCBudWxsKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIG5vZGVzOiBbTGlua05vZGUsIEF1dG9MaW5rTm9kZV0sXG4gICAgICBwbHVnaW5zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBDb21wb25lbnQ6IExpbmtQbHVnaW4sXG4gICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgQ29tcG9uZW50OiBBdXRvTGlua1BsdWdpbixcbiAgICAgICAgICBwb3NpdGlvbjogJ25vcm1hbCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBDb21wb25lbnQ6IENsaWNrYWJsZUxpbmtQbHVnaW4sXG4gICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgQ29tcG9uZW50OiBGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4sXG4gICAgICAgICAgcG9zaXRpb246ICdmbG9hdGluZ0FuY2hvckVsZW0nLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgTGlua0ZlYXR1cmVDbGllbnRDb21wb25lbnQgPSBjcmVhdGVDbGllbnRDb21wb25lbnQoTGlua0ZlYXR1cmVDbGllbnQpXG4iXSwibmFtZXMiOlsibGV4aWNhbFV0aWxzSW1wb3J0IiwiJGZpbmRNYXRjaGluZ1BhcmVudCIsImxleGljYWxJbXBvcnQiLCIkZ2V0U2VsZWN0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJMaW5rSWNvbiIsImdldFNlbGVjdGVkTm9kZSIsIkZlYXR1cmVzU2VjdGlvbldpdGhFbnRyaWVzIiwiY3JlYXRlQ2xpZW50Q29tcG9uZW50IiwiQXV0b0xpbmtOb2RlIiwiJGlzTGlua05vZGUiLCJMaW5rTm9kZSIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJBdXRvTGlua1BsdWdpbiIsIkNsaWNrYWJsZUxpbmtQbHVnaW4iLCJUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQiLCJGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4iLCJMaW5rUGx1Z2luIiwiTGlua0ZlYXR1cmVDbGllbnQiLCJwcm9wcyIsImNsaWVudEZlYXR1cmVQcm9wcyIsImZlYXR1cmUiLCJmbG9hdGluZ1NlbGVjdFRvb2xiYXIiLCJzZWN0aW9ucyIsIkNoaWxkQ29tcG9uZW50IiwiaXNBY3RpdmUiLCJzZWxlY3Rpb24iLCJzZWxlY3RlZE5vZGUiLCJsaW5rUGFyZW50Iiwia2V5IiwibGFiZWwiLCJvbkNsaWNrIiwiZWRpdG9yIiwic2VsZWN0ZWRUZXh0IiwiZ2V0RWRpdG9yU3RhdGUiLCJyZWFkIiwiZ2V0VGV4dENvbnRlbnQiLCJsaW5rRmllbGRzIiwiZG9jIiwibGlua1R5cGUiLCJuZXdUYWIiLCJ1cmwiLCJkaXNwYXRjaENvbW1hbmQiLCJmaWVsZHMiLCJ0ZXh0Iiwib3JkZXIiLCJub2RlcyIsInBsdWdpbnMiLCJDb21wb25lbnQiLCJwb3NpdGlvbiIsIkxpbmtGZWF0dXJlQ2xpZW50Q29tcG9uZW50Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUVBLE9BQU9BLHdCQUF3QixpQkFBZ0I7QUFDL0MsTUFBTSxFQUFFQyxtQkFBbUIsRUFBRSxHQUFHRDtBQUVoQyxPQUFPRSxtQkFBbUIsVUFBUztBQUNuQyxNQUFNLEVBQUVDLGFBQWEsRUFBRUMsaUJBQWlCLEVBQUUsR0FBR0Y7QUFNN0MsU0FBU0csUUFBUSxRQUFRLHVDQUFzQztBQUMvRCxTQUFTQyxlQUFlLFFBQVEseUNBQXdDO0FBQ3hFLFNBQVNDLDBCQUEwQixRQUFRLGlFQUFnRTtBQUMzRyxTQUFTQyxxQkFBcUIsUUFBUSw4QkFBNkI7QUFDbkUsU0FBU0MsWUFBWSxRQUFRLDBCQUF5QjtBQUN0RCxTQUFTQyxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsbUJBQW1CLFFBQVEsc0JBQXFCO0FBQ2hGLFNBQVNDLGNBQWMsUUFBUSw4QkFBNkI7QUFDNUQsU0FBU0MsbUJBQW1CLFFBQVEsbUNBQWtDO0FBQ3RFLFNBQVNDLDhCQUE4QixRQUFRLHNEQUFxRDtBQUNwRyxTQUFTQyx3QkFBd0IsUUFBUSx3Q0FBdUM7QUFDaEYsU0FBU0MsVUFBVSxRQUFRLDBCQUF5QjtBQUlwRCxNQUFNQyxvQkFBZ0UsQ0FBQ0M7SUFDckUsT0FBTztRQUNMQyxvQkFBb0JEO1FBQ3BCRSxTQUFTLElBQU8sQ0FBQTtnQkFDZEQsb0JBQW9CRDtnQkFDcEJHLHVCQUF1QjtvQkFDckJDLFVBQVU7d0JBQ1JoQiwyQkFBMkI7NEJBQ3pCO2dDQUNFaUIsZ0JBQWdCbkI7Z0NBQ2hCb0IsVUFBVSxDQUFDLEVBQUVDLFNBQVMsRUFBRTtvQ0FDdEIsSUFBSXRCLGtCQUFrQnNCLFlBQVk7d0NBQ2hDLE1BQU1DLGVBQWVyQixnQkFBZ0JvQjt3Q0FDckMsTUFBTUUsYUFBYTNCLG9CQUFvQjBCLGNBQWNqQjt3Q0FDckQsT0FBT2tCLGNBQWM7b0NBQ3ZCO29DQUNBLE9BQU87Z0NBQ1Q7Z0NBQ0FDLEtBQUs7Z0NBQ0xDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0NBQ2JDLFNBQVMsQ0FBQyxFQUFFQyxNQUFNLEVBQUVQLFFBQVEsRUFBRTtvQ0FDNUIsSUFBSSxDQUFDQSxVQUFVO3dDQUNiLElBQUlRLGVBQWU7d0NBQ25CRCxPQUFPRSxjQUFjLEdBQUdDLElBQUksQ0FBQzs0Q0FDM0JGLGVBQWU5QixnQkFBZ0JpQyxjQUFjO3dDQUMvQzt3Q0FDQSxNQUFNQyxhQUF5Qjs0Q0FDN0JDLEtBQUs7NENBQ0xDLFVBQVU7NENBQ1ZDLFFBQVE7NENBQ1JDLEtBQUs7d0NBQ1A7d0NBQ0FULE9BQU9VLGVBQWUsQ0FBQzNCLGdDQUFnQzs0Q0FDckQ0QixRQUFRTjs0Q0FDUk8sTUFBTVg7d0NBQ1I7b0NBQ0YsT0FBTzt3Q0FDTCxjQUFjO3dDQUNkRCxPQUFPVSxlQUFlLENBQUM5QixxQkFBcUI7b0NBQzlDO2dDQUNGO2dDQUNBaUMsT0FBTzs0QkFDVDt5QkFDRDtxQkFDRjtnQkFDSDtnQkFDQUMsT0FBTztvQkFBQ25DO29CQUFVRjtpQkFBYTtnQkFDL0JzQyxTQUFTO29CQUNQO3dCQUNFQyxXQUFXL0I7d0JBQ1hnQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXbkM7d0JBQ1hvQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXbEM7d0JBQ1htQyxVQUFVO29CQUNaO29CQUNBO3dCQUNFRCxXQUFXaEM7d0JBQ1hpQyxVQUFVO29CQUNaO2lCQUNEO1lBQ0gsQ0FBQTtJQUNGO0FBQ0Y7QUFFQSxPQUFPLE1BQU1DLDZCQUE2QjFDLHNCQUFzQlUsbUJBQWtCIn0=
@@ -1,4 +1,4 @@
1
- import { type ElementNode, type LexicalNode, type RangeSelection } from 'lexical';
1
+ import type { ElementNode, LexicalNode, RangeSelection } from 'lexical';
2
2
  import type { LinkFields, SerializedAutoLinkNode } from './types.js';
3
3
  import { LinkNode } from './LinkNode.js';
4
4
  export declare class AutoLinkNode extends LinkNode {
@@ -1 +1 @@
1
- {"version":3,"file":"AutoLinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/AutoLinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAKxC,qBAAa,YAAa,SAAQ,QAAQ;IACxC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAI9C,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,IAAI;IAKxB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY;IAkBvE,UAAU,IAAI,sBAAsB;IAQpC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;CASvF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,YAAY,CAEpF;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE1F"}
1
+ {"version":3,"file":"AutoLinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/AutoLinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAKvE,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAKxC,qBAAa,YAAa,SAAQ,QAAQ;IACxC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAI9C,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,IAAI;IAKxB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY;IAkBvE,UAAU,IAAI,sBAAsB;IAQpC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;CASvF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,YAAY,CAEpF;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE1F"}
@@ -1,4 +1,5 @@
1
- import { $applyNodeReplacement, $isElementNode } from 'lexical';
1
+ import lexicalImport from 'lexical';
2
+ const { $applyNodeReplacement, $isElementNode } = lexicalImport;
2
3
  import { LinkNode } from './LinkNode.js';
3
4
  // Custom node type to override `canInsertTextAfter` that will
4
5
  // allow typing within the link
@@ -57,4 +58,4 @@ export function $isAutoLinkNode(node) {
57
58
  return node instanceof AutoLinkNode;
58
59
  }
59
60
 
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL0F1dG9MaW5rTm9kZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAkYXBwbHlOb2RlUmVwbGFjZW1lbnQsXG4gICRpc0VsZW1lbnROb2RlLFxuICB0eXBlIEVsZW1lbnROb2RlLFxuICB0eXBlIExleGljYWxOb2RlLFxuICB0eXBlIFJhbmdlU2VsZWN0aW9uLFxufSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgdHlwZSB7IExpbmtGaWVsZHMsIFNlcmlhbGl6ZWRBdXRvTGlua05vZGUgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBMaW5rTm9kZSB9IGZyb20gJy4vTGlua05vZGUuanMnXG5cbi8vIEN1c3RvbSBub2RlIHR5cGUgdG8gb3ZlcnJpZGUgYGNhbkluc2VydFRleHRBZnRlcmAgdGhhdCB3aWxsXG4vLyBhbGxvdyB0eXBpbmcgd2l0aGluIHRoZSBsaW5rXG5cbmV4cG9ydCBjbGFzcyBBdXRvTGlua05vZGUgZXh0ZW5kcyBMaW5rTm9kZSB7XG4gIHN0YXRpYyBjbG9uZShub2RlOiBBdXRvTGlua05vZGUpOiBBdXRvTGlua05vZGUge1xuICAgIHJldHVybiBuZXcgQXV0b0xpbmtOb2RlKHsgZmllbGRzOiBub2RlLl9fZmllbGRzLCBrZXk6IG5vZGUuX19rZXkgfSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdhdXRvbGluaydcbiAgfVxuXG4gIHN0YXRpYyBpbXBvcnRET00oKTogbnVsbCB7XG4gICAgLy8gVE9ETzogU2hvdWxkIGxpbmsgbm9kZSBzaG91bGQgaGFuZGxlIHRoZSBpbXBvcnQgb3ZlciBhdXRvbGluaz9cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgc3RhdGljIGltcG9ydEpTT04oc2VyaWFsaXplZE5vZGU6IFNlcmlhbGl6ZWRBdXRvTGlua05vZGUpOiBBdXRvTGlua05vZGUge1xuICAgIGlmIChcbiAgICAgIHNlcmlhbGl6ZWROb2RlLnZlcnNpb24gPT09IDEgJiZcbiAgICAgIHR5cGVvZiBzZXJpYWxpemVkTm9kZS5maWVsZHM/LmRvYz8udmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICBzZXJpYWxpemVkTm9kZS5maWVsZHM/LmRvYz8udmFsdWU/LmlkXG4gICAgKSB7XG4gICAgICBzZXJpYWxpemVkTm9kZS5maWVsZHMuZG9jLnZhbHVlID0gc2VyaWFsaXplZE5vZGUuZmllbGRzLmRvYy52YWx1ZS5pZFxuICAgICAgc2VyaWFsaXplZE5vZGUudmVyc2lvbiA9IDJcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gJGNyZWF0ZUF1dG9MaW5rTm9kZSh7IGZpZWxkczogc2VyaWFsaXplZE5vZGUuZmllbGRzIH0pXG5cbiAgICBub2RlLnNldEZvcm1hdChzZXJpYWxpemVkTm9kZS5mb3JtYXQpXG4gICAgbm9kZS5zZXRJbmRlbnQoc2VyaWFsaXplZE5vZGUuaW5kZW50KVxuICAgIG5vZGUuc2V0RGlyZWN0aW9uKHNlcmlhbGl6ZWROb2RlLmRpcmVjdGlvbilcbiAgICByZXR1cm4gbm9kZVxuICB9XG5cbiAgZXhwb3J0SlNPTigpOiBTZXJpYWxpemVkQXV0b0xpbmtOb2RlIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIuZXhwb3J0SlNPTigpLFxuICAgICAgdHlwZTogJ2F1dG9saW5rJyxcbiAgICAgIHZlcnNpb246IDIsXG4gICAgfVxuICB9XG5cbiAgaW5zZXJ0TmV3QWZ0ZXIoc2VsZWN0aW9uOiBSYW5nZVNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbiA9IHRydWUpOiBFbGVtZW50Tm9kZSB8IG51bGwge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldFBhcmVudE9yVGhyb3coKS5pbnNlcnROZXdBZnRlcihzZWxlY3Rpb24sIHJlc3RvcmVTZWxlY3Rpb24pXG4gICAgaWYgKCRpc0VsZW1lbnROb2RlKGVsZW1lbnQpKSB7XG4gICAgICBjb25zdCBsaW5rTm9kZSA9ICRjcmVhdGVBdXRvTGlua05vZGUoeyBmaWVsZHM6IHRoaXMuX19maWVsZHMgfSlcbiAgICAgIGVsZW1lbnQuYXBwZW5kKGxpbmtOb2RlKVxuICAgICAgcmV0dXJuIGxpbmtOb2RlXG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uICRjcmVhdGVBdXRvTGlua05vZGUoeyBmaWVsZHMgfTogeyBmaWVsZHM6IExpbmtGaWVsZHMgfSk6IEF1dG9MaW5rTm9kZSB7XG4gIHJldHVybiAkYXBwbHlOb2RlUmVwbGFjZW1lbnQobmV3IEF1dG9MaW5rTm9kZSh7IGZpZWxkcyB9KSlcbn1cbmV4cG9ydCBmdW5jdGlvbiAkaXNBdXRvTGlua05vZGUobm9kZTogTGV4aWNhbE5vZGUgfCBudWxsIHwgdW5kZWZpbmVkKTogbm9kZSBpcyBBdXRvTGlua05vZGUge1xuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIEF1dG9MaW5rTm9kZVxufVxuIl0sIm5hbWVzIjpbIiRhcHBseU5vZGVSZXBsYWNlbWVudCIsIiRpc0VsZW1lbnROb2RlIiwiTGlua05vZGUiLCJBdXRvTGlua05vZGUiLCJjbG9uZSIsIm5vZGUiLCJmaWVsZHMiLCJfX2ZpZWxkcyIsImtleSIsIl9fa2V5IiwiZ2V0VHlwZSIsImltcG9ydERPTSIsImltcG9ydEpTT04iLCJzZXJpYWxpemVkTm9kZSIsInZlcnNpb24iLCJkb2MiLCJ2YWx1ZSIsImlkIiwiJGNyZWF0ZUF1dG9MaW5rTm9kZSIsInNldEZvcm1hdCIsImZvcm1hdCIsInNldEluZGVudCIsImluZGVudCIsInNldERpcmVjdGlvbiIsImRpcmVjdGlvbiIsImV4cG9ydEpTT04iLCJ0eXBlIiwiaW5zZXJ0TmV3QWZ0ZXIiLCJzZWxlY3Rpb24iLCJyZXN0b3JlU2VsZWN0aW9uIiwiZWxlbWVudCIsImdldFBhcmVudE9yVGhyb3ciLCJsaW5rTm9kZSIsImFwcGVuZCIsIiRpc0F1dG9MaW5rTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEscUJBQXFCLEVBQ3JCQyxjQUFjLFFBSVQsVUFBUztBQUloQixTQUFTQyxRQUFRLFFBQVEsZ0JBQWU7QUFFeEMsOERBQThEO0FBQzlELCtCQUErQjtBQUUvQixPQUFPLE1BQU1DLHFCQUFxQkQ7SUFDaEMsT0FBT0UsTUFBTUMsSUFBa0IsRUFBZ0I7UUFDN0MsT0FBTyxJQUFJRixhQUFhO1lBQUVHLFFBQVFELEtBQUtFLFFBQVE7WUFBRUMsS0FBS0gsS0FBS0ksS0FBSztRQUFDO0lBQ25FO0lBRUEsT0FBT0MsVUFBa0I7UUFDdkIsT0FBTztJQUNUO0lBRUEsT0FBT0MsWUFBa0I7UUFDdkIsaUVBQWlFO1FBQ2pFLE9BQU87SUFDVDtJQUVBLE9BQU9DLFdBQVdDLGNBQXNDLEVBQWdCO1FBQ3RFLElBQ0VBLGVBQWVDLE9BQU8sS0FBSyxLQUMzQixPQUFPRCxlQUFlUCxNQUFNLEVBQUVTLEtBQUtDLFVBQVUsWUFDN0NILGVBQWVQLE1BQU0sRUFBRVMsS0FBS0MsT0FBT0MsSUFDbkM7WUFDQUosZUFBZVAsTUFBTSxDQUFDUyxHQUFHLENBQUNDLEtBQUssR0FBR0gsZUFBZVAsTUFBTSxDQUFDUyxHQUFHLENBQUNDLEtBQUssQ0FBQ0MsRUFBRTtZQUNwRUosZUFBZUMsT0FBTyxHQUFHO1FBQzNCO1FBRUEsTUFBTVQsT0FBT2Esb0JBQW9CO1lBQUVaLFFBQVFPLGVBQWVQLE1BQU07UUFBQztRQUVqRUQsS0FBS2MsU0FBUyxDQUFDTixlQUFlTyxNQUFNO1FBQ3BDZixLQUFLZ0IsU0FBUyxDQUFDUixlQUFlUyxNQUFNO1FBQ3BDakIsS0FBS2tCLFlBQVksQ0FBQ1YsZUFBZVcsU0FBUztRQUMxQyxPQUFPbkI7SUFDVDtJQUVBb0IsYUFBcUM7UUFDbkMsT0FBTztZQUNMLEdBQUcsS0FBSyxDQUFDQSxZQUFZO1lBQ3JCQyxNQUFNO1lBQ05aLFNBQVM7UUFDWDtJQUNGO0lBRUFhLGVBQWVDLFNBQXlCLEVBQUVDLG1CQUFtQixJQUFJLEVBQXNCO1FBQ3JGLE1BQU1DLFVBQVUsSUFBSSxDQUFDQyxnQkFBZ0IsR0FBR0osY0FBYyxDQUFDQyxXQUFXQztRQUNsRSxJQUFJNUIsZUFBZTZCLFVBQVU7WUFDM0IsTUFBTUUsV0FBV2Qsb0JBQW9CO2dCQUFFWixRQUFRLElBQUksQ0FBQ0MsUUFBUTtZQUFDO1lBQzdEdUIsUUFBUUcsTUFBTSxDQUFDRDtZQUNmLE9BQU9BO1FBQ1Q7UUFDQSxPQUFPO0lBQ1Q7QUFDRjtBQUVBLE9BQU8sU0FBU2Qsb0JBQW9CLEVBQUVaLE1BQU0sRUFBMEI7SUFDcEUsT0FBT04sc0JBQXNCLElBQUlHLGFBQWE7UUFBRUc7SUFBTztBQUN6RDtBQUNBLE9BQU8sU0FBUzRCLGdCQUFnQjdCLElBQW9DO0lBQ2xFLE9BQU9BLGdCQUFnQkY7QUFDekIifQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL0F1dG9MaW5rTm9kZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVsZW1lbnROb2RlLCBMZXhpY2FsTm9kZSwgUmFuZ2VTZWxlY3Rpb24gfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgbGV4aWNhbEltcG9ydCBmcm9tICdsZXhpY2FsJ1xuY29uc3QgeyAkYXBwbHlOb2RlUmVwbGFjZW1lbnQsICRpc0VsZW1lbnROb2RlIH0gPSBsZXhpY2FsSW1wb3J0XG5cbmltcG9ydCB0eXBlIHsgTGlua0ZpZWxkcywgU2VyaWFsaXplZEF1dG9MaW5rTm9kZSB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmltcG9ydCB7IExpbmtOb2RlIH0gZnJvbSAnLi9MaW5rTm9kZS5qcydcblxuLy8gQ3VzdG9tIG5vZGUgdHlwZSB0byBvdmVycmlkZSBgY2FuSW5zZXJ0VGV4dEFmdGVyYCB0aGF0IHdpbGxcbi8vIGFsbG93IHR5cGluZyB3aXRoaW4gdGhlIGxpbmtcblxuZXhwb3J0IGNsYXNzIEF1dG9MaW5rTm9kZSBleHRlbmRzIExpbmtOb2RlIHtcbiAgc3RhdGljIGNsb25lKG5vZGU6IEF1dG9MaW5rTm9kZSk6IEF1dG9MaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBBdXRvTGlua05vZGUoeyBmaWVsZHM6IG5vZGUuX19maWVsZHMsIGtleTogbm9kZS5fX2tleSB9KVxuICB9XG5cbiAgc3RhdGljIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2F1dG9saW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBudWxsIHtcbiAgICAvLyBUT0RPOiBTaG91bGQgbGluayBub2RlIHNob3VsZCBoYW5kbGUgdGhlIGltcG9ydCBvdmVyIGF1dG9saW5rP1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZEF1dG9MaW5rTm9kZSk6IEF1dG9MaW5rTm9kZSB7XG4gICAgaWYgKFxuICAgICAgc2VyaWFsaXplZE5vZGUudmVyc2lvbiA9PT0gMSAmJlxuICAgICAgdHlwZW9mIHNlcmlhbGl6ZWROb2RlLmZpZWxkcz8uZG9jPy52YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHNlcmlhbGl6ZWROb2RlLmZpZWxkcz8uZG9jPy52YWx1ZT8uaWRcbiAgICApIHtcbiAgICAgIHNlcmlhbGl6ZWROb2RlLmZpZWxkcy5kb2MudmFsdWUgPSBzZXJpYWxpemVkTm9kZS5maWVsZHMuZG9jLnZhbHVlLmlkXG4gICAgICBzZXJpYWxpemVkTm9kZS52ZXJzaW9uID0gMlxuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSAkY3JlYXRlQXV0b0xpbmtOb2RlKHsgZmllbGRzOiBzZXJpYWxpemVkTm9kZS5maWVsZHMgfSlcblxuICAgIG5vZGUuc2V0Rm9ybWF0KHNlcmlhbGl6ZWROb2RlLmZvcm1hdClcbiAgICBub2RlLnNldEluZGVudChzZXJpYWxpemVkTm9kZS5pbmRlbnQpXG4gICAgbm9kZS5zZXREaXJlY3Rpb24oc2VyaWFsaXplZE5vZGUuZGlyZWN0aW9uKVxuICAgIHJldHVybiBub2RlXG4gIH1cblxuICBleHBvcnRKU09OKCk6IFNlcmlhbGl6ZWRBdXRvTGlua05vZGUge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5leHBvcnRKU09OKCksXG4gICAgICB0eXBlOiAnYXV0b2xpbmsnLFxuICAgICAgdmVyc2lvbjogMixcbiAgICB9XG4gIH1cblxuICBpbnNlcnROZXdBZnRlcihzZWxlY3Rpb246IFJhbmdlU2VsZWN0aW9uLCByZXN0b3JlU2VsZWN0aW9uID0gdHJ1ZSk6IEVsZW1lbnROb2RlIHwgbnVsbCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0UGFyZW50T3JUaHJvdygpLmluc2VydE5ld0FmdGVyKHNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbilcbiAgICBpZiAoJGlzRWxlbWVudE5vZGUoZWxlbWVudCkpIHtcbiAgICAgIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUF1dG9MaW5rTm9kZSh7IGZpZWxkczogdGhpcy5fX2ZpZWxkcyB9KVxuICAgICAgZWxlbWVudC5hcHBlbmQobGlua05vZGUpXG4gICAgICByZXR1cm4gbGlua05vZGVcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gJGNyZWF0ZUF1dG9MaW5rTm9kZSh7IGZpZWxkcyB9OiB7IGZpZWxkczogTGlua0ZpZWxkcyB9KTogQXV0b0xpbmtOb2RlIHtcbiAgcmV0dXJuICRhcHBseU5vZGVSZXBsYWNlbWVudChuZXcgQXV0b0xpbmtOb2RlKHsgZmllbGRzIH0pKVxufVxuZXhwb3J0IGZ1bmN0aW9uICRpc0F1dG9MaW5rTm9kZShub2RlOiBMZXhpY2FsTm9kZSB8IG51bGwgfCB1bmRlZmluZWQpOiBub2RlIGlzIEF1dG9MaW5rTm9kZSB7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgQXV0b0xpbmtOb2RlXG59XG4iXSwibmFtZXMiOlsibGV4aWNhbEltcG9ydCIsIiRhcHBseU5vZGVSZXBsYWNlbWVudCIsIiRpc0VsZW1lbnROb2RlIiwiTGlua05vZGUiLCJBdXRvTGlua05vZGUiLCJjbG9uZSIsIm5vZGUiLCJmaWVsZHMiLCJfX2ZpZWxkcyIsImtleSIsIl9fa2V5IiwiZ2V0VHlwZSIsImltcG9ydERPTSIsImltcG9ydEpTT04iLCJzZXJpYWxpemVkTm9kZSIsInZlcnNpb24iLCJkb2MiLCJ2YWx1ZSIsImlkIiwiJGNyZWF0ZUF1dG9MaW5rTm9kZSIsInNldEZvcm1hdCIsImZvcm1hdCIsInNldEluZGVudCIsImluZGVudCIsInNldERpcmVjdGlvbiIsImRpcmVjdGlvbiIsImV4cG9ydEpTT04iLCJ0eXBlIiwiaW5zZXJ0TmV3QWZ0ZXIiLCJzZWxlY3Rpb24iLCJyZXN0b3JlU2VsZWN0aW9uIiwiZWxlbWVudCIsImdldFBhcmVudE9yVGhyb3ciLCJsaW5rTm9kZSIsImFwcGVuZCIsIiRpc0F1dG9MaW5rTm9kZSJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsbUJBQW1CLFVBQVM7QUFDbkMsTUFBTSxFQUFFQyxxQkFBcUIsRUFBRUMsY0FBYyxFQUFFLEdBQUdGO0FBSWxELFNBQVNHLFFBQVEsUUFBUSxnQkFBZTtBQUV4Qyw4REFBOEQ7QUFDOUQsK0JBQStCO0FBRS9CLE9BQU8sTUFBTUMscUJBQXFCRDtJQUNoQyxPQUFPRSxNQUFNQyxJQUFrQixFQUFnQjtRQUM3QyxPQUFPLElBQUlGLGFBQWE7WUFBRUcsUUFBUUQsS0FBS0UsUUFBUTtZQUFFQyxLQUFLSCxLQUFLSSxLQUFLO1FBQUM7SUFDbkU7SUFFQSxPQUFPQyxVQUFrQjtRQUN2QixPQUFPO0lBQ1Q7SUFFQSxPQUFPQyxZQUFrQjtRQUN2QixpRUFBaUU7UUFDakUsT0FBTztJQUNUO0lBRUEsT0FBT0MsV0FBV0MsY0FBc0MsRUFBZ0I7UUFDdEUsSUFDRUEsZUFBZUMsT0FBTyxLQUFLLEtBQzNCLE9BQU9ELGVBQWVQLE1BQU0sRUFBRVMsS0FBS0MsVUFBVSxZQUM3Q0gsZUFBZVAsTUFBTSxFQUFFUyxLQUFLQyxPQUFPQyxJQUNuQztZQUNBSixlQUFlUCxNQUFNLENBQUNTLEdBQUcsQ0FBQ0MsS0FBSyxHQUFHSCxlQUFlUCxNQUFNLENBQUNTLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDQyxFQUFFO1lBQ3BFSixlQUFlQyxPQUFPLEdBQUc7UUFDM0I7UUFFQSxNQUFNVCxPQUFPYSxvQkFBb0I7WUFBRVosUUFBUU8sZUFBZVAsTUFBTTtRQUFDO1FBRWpFRCxLQUFLYyxTQUFTLENBQUNOLGVBQWVPLE1BQU07UUFDcENmLEtBQUtnQixTQUFTLENBQUNSLGVBQWVTLE1BQU07UUFDcENqQixLQUFLa0IsWUFBWSxDQUFDVixlQUFlVyxTQUFTO1FBQzFDLE9BQU9uQjtJQUNUO0lBRUFvQixhQUFxQztRQUNuQyxPQUFPO1lBQ0wsR0FBRyxLQUFLLENBQUNBLFlBQVk7WUFDckJDLE1BQU07WUFDTlosU0FBUztRQUNYO0lBQ0Y7SUFFQWEsZUFBZUMsU0FBeUIsRUFBRUMsbUJBQW1CLElBQUksRUFBc0I7UUFDckYsTUFBTUMsVUFBVSxJQUFJLENBQUNDLGdCQUFnQixHQUFHSixjQUFjLENBQUNDLFdBQVdDO1FBQ2xFLElBQUk1QixlQUFlNkIsVUFBVTtZQUMzQixNQUFNRSxXQUFXZCxvQkFBb0I7Z0JBQUVaLFFBQVEsSUFBSSxDQUFDQyxRQUFRO1lBQUM7WUFDN0R1QixRQUFRRyxNQUFNLENBQUNEO1lBQ2YsT0FBT0E7UUFDVDtRQUNBLE9BQU87SUFDVDtBQUNGO0FBRUEsT0FBTyxTQUFTZCxvQkFBb0IsRUFBRVosTUFBTSxFQUEwQjtJQUNwRSxPQUFPTixzQkFBc0IsSUFBSUcsYUFBYTtRQUFFRztJQUFPO0FBQ3pEO0FBQ0EsT0FBTyxTQUFTNEIsZ0JBQWdCN0IsSUFBb0M7SUFDbEUsT0FBT0EsZ0JBQWdCRjtBQUN6QiJ9
@@ -1,5 +1,7 @@
1
1
  import type { BaseSelection } from 'lexical';
2
- import { type DOMConversionMap, type EditorConfig, ElementNode, type LexicalCommand, type LexicalNode, type NodeKey, type RangeSelection } from 'lexical';
2
+ import lexicalImport from 'lexical';
3
+ declare const ElementNode: typeof lexicalImport.ElementNode;
4
+ import type { DOMConversionMap, EditorConfig, ElementNode as ElementNodeType, LexicalCommand, LexicalNode, NodeKey, RangeSelection } from 'lexical';
3
5
  import type { LinkPayload } from '../plugins/floatingLinkEditor/types.js';
4
6
  import type { LinkFields, SerializedLinkNode } from './types.js';
5
7
  /** @noInheritDoc */
@@ -20,7 +22,7 @@ export declare class LinkNode extends ElementNode {
20
22
  exportJSON(): SerializedLinkNode;
21
23
  extractWithChild(child: LexicalNode, selection: BaseSelection, destination: 'clone' | 'html'): boolean;
22
24
  getFields(): LinkFields;
23
- insertNewAfter(selection: RangeSelection, restoreSelection?: boolean): ElementNode | null;
25
+ insertNewAfter(selection: RangeSelection, restoreSelection?: boolean): ElementNodeType | null;
24
26
  isInline(): true;
25
27
  sanitizeUrl(url: string): string;
26
28
  setFields(fields: LinkFields): void;
@@ -32,4 +34,5 @@ export declare function $createLinkNode({ fields }: {
32
34
  export declare function $isLinkNode(node: LexicalNode | null | undefined): node is LinkNode;
33
35
  export declare const TOGGLE_LINK_COMMAND: LexicalCommand<LinkPayload | null>;
34
36
  export declare function toggleLink(payload: LinkPayload): void;
37
+ export {};
35
38
  //# sourceMappingURL=LinkNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/LinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,EAML,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,cAAc,EAEpB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIhE,oBAAoB;AACpB,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,EAAE,UAAU,CAAA;gBAER,EACV,MAKC,EACD,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,UAAU,CAAA;QAClB,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAOtC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;IAS3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,kBAAkB,GAAG,QAAQ;IAmB/D,UAAU,IAAI,KAAK;IAInB,kBAAkB,IAAI,KAAK;IAI3B,mBAAmB,IAAI,KAAK;IAI5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAiBlD,UAAU,IAAI,kBAAkB;IAShC,gBAAgB,CACd,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,OAAO,GAAG,MAAM,GAC5B,OAAO;IAeV,SAAS,IAAI,UAAU;IAIvB,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;IAUtF,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO;CA8BxF;AAoBD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,QAAQ,CAE5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,QAAQ,CAElF;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAC7B,CAAA;AAEtC,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6GrD"}
1
+ {"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/link/nodes/LinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAK5C,OAAO,aAAa,MAAM,SAAS,CAAA;AACnC,QAAA,MAME,WAAW,kCAEI,CAAA;AAEjB,OAAO,KAAK,EACV,gBAAgB,EAEhB,YAAY,EACZ,WAAW,IAAI,eAAe,EAC9B,cAAc,EACd,WAAW,EACX,OAAO,EACP,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIhE,oBAAoB;AACpB,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,EAAE,UAAU,CAAA;gBAER,EACV,MAKC,EACD,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,UAAU,CAAA;QAClB,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAOtC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;IAS3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,kBAAkB,GAAG,QAAQ;IAmB/D,UAAU,IAAI,KAAK;IAInB,kBAAkB,IAAI,KAAK;IAI3B,mBAAmB,IAAI,KAAK;IAI5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAiBlD,UAAU,IAAI,kBAAkB;IAShC,gBAAgB,CACd,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,OAAO,GAAG,MAAM,GAC5B,OAAO;IAeV,SAAS,IAAI,UAAU;IAIvB,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,eAAe,GAAG,IAAI;IAU1F,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO;CA8BxF;AAoBD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,QAAQ,CAE5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,QAAQ,CAElF;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAC7B,CAAA;AAEtC,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6GrD"}
@@ -1,5 +1,7 @@
1
- import { addClassNamesToElement, isHTMLAnchorElement } from '@lexical/utils';
2
- import { $applyNodeReplacement, $createTextNode, $getSelection, $isElementNode, $isRangeSelection, ElementNode, createCommand } from 'lexical';
1
+ import lexicalUtilsImport from '@lexical/utils';
2
+ const { addClassNamesToElement, isHTMLAnchorElement } = lexicalUtilsImport;
3
+ import lexicalImport from 'lexical';
4
+ const { $applyNodeReplacement, $createTextNode, $getSelection, $isElementNode, $isRangeSelection, ElementNode, createCommand } = lexicalImport;
3
5
  const SUPPORTED_URL_PROTOCOLS = new Set([
4
6
  'http:',
5
7
  'https:',
@@ -296,4 +298,4 @@ function manageRel(input, action, value) {
296
298
  return result;
297
299
  }
298
300
 
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL0xpbmtOb2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZVNlbGVjdGlvbiB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB7IGFkZENsYXNzTmFtZXNUb0VsZW1lbnQsIGlzSFRNTEFuY2hvckVsZW1lbnQgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7XG4gICRhcHBseU5vZGVSZXBsYWNlbWVudCxcbiAgJGNyZWF0ZVRleHROb2RlLFxuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNFbGVtZW50Tm9kZSxcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gIHR5cGUgRE9NQ29udmVyc2lvbk1hcCxcbiAgdHlwZSBET01Db252ZXJzaW9uT3V0cHV0LFxuICB0eXBlIEVkaXRvckNvbmZpZyxcbiAgRWxlbWVudE5vZGUsXG4gIHR5cGUgTGV4aWNhbENvbW1hbmQsXG4gIHR5cGUgTGV4aWNhbE5vZGUsXG4gIHR5cGUgTm9kZUtleSxcbiAgdHlwZSBSYW5nZVNlbGVjdGlvbixcbiAgY3JlYXRlQ29tbWFuZCxcbn0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHR5cGUgeyBMaW5rUGF5bG9hZCB9IGZyb20gJy4uL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBMaW5rRmllbGRzLCBTZXJpYWxpemVkTGlua05vZGUgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5jb25zdCBTVVBQT1JURURfVVJMX1BST1RPQ09MUyA9IG5ldyBTZXQoWydodHRwOicsICdodHRwczonLCAnbWFpbHRvOicsICdzbXM6JywgJ3RlbDonXSlcblxuLyoqIEBub0luaGVyaXREb2MgKi9cbmV4cG9ydCBjbGFzcyBMaW5rTm9kZSBleHRlbmRzIEVsZW1lbnROb2RlIHtcbiAgX19maWVsZHM6IExpbmtGaWVsZHNcblxuICBjb25zdHJ1Y3Rvcih7XG4gICAgZmllbGRzID0ge1xuICAgICAgZG9jOiBudWxsLFxuICAgICAgbGlua1R5cGU6ICdjdXN0b20nLFxuICAgICAgbmV3VGFiOiBmYWxzZSxcbiAgICAgIHVybDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICAga2V5LFxuICB9OiB7XG4gICAgZmllbGRzOiBMaW5rRmllbGRzXG4gICAga2V5PzogTm9kZUtleVxuICB9KSB7XG4gICAgc3VwZXIoa2V5KVxuICAgIHRoaXMuX19maWVsZHMgPSBmaWVsZHNcbiAgfVxuXG4gIHN0YXRpYyBjbG9uZShub2RlOiBMaW5rTm9kZSk6IExpbmtOb2RlIHtcbiAgICByZXR1cm4gbmV3IExpbmtOb2RlKHtcbiAgICAgIGZpZWxkczogbm9kZS5fX2ZpZWxkcyxcbiAgICAgIGtleTogbm9kZS5fX2tleSxcbiAgICB9KVxuICB9XG5cbiAgc3RhdGljIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2xpbmsnXG4gIH1cblxuICBzdGF0aWMgaW1wb3J0RE9NKCk6IERPTUNvbnZlcnNpb25NYXAgfCBudWxsIHtcbiAgICByZXR1cm4ge1xuICAgICAgYTogKG5vZGU6IE5vZGUpID0+ICh7XG4gICAgICAgIGNvbnZlcnNpb246IGNvbnZlcnRBbmNob3JFbGVtZW50LFxuICAgICAgICBwcmlvcml0eTogMSxcbiAgICAgIH0pLFxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBpbXBvcnRKU09OKHNlcmlhbGl6ZWROb2RlOiBTZXJpYWxpemVkTGlua05vZGUpOiBMaW5rTm9kZSB7XG4gICAgaWYgKFxuICAgICAgc2VyaWFsaXplZE5vZGUudmVyc2lvbiA9PT0gMSAmJlxuICAgICAgdHlwZW9mIHNlcmlhbGl6ZWROb2RlLmZpZWxkcz8uZG9jPy52YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHNlcmlhbGl6ZWROb2RlLmZpZWxkcz8uZG9jPy52YWx1ZT8uaWRcbiAgICApIHtcbiAgICAgIHNlcmlhbGl6ZWROb2RlLmZpZWxkcy5kb2MudmFsdWUgPSBzZXJpYWxpemVkTm9kZS5maWVsZHMuZG9jLnZhbHVlLmlkXG4gICAgICBzZXJpYWxpemVkTm9kZS52ZXJzaW9uID0gMlxuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSAkY3JlYXRlTGlua05vZGUoe1xuICAgICAgZmllbGRzOiBzZXJpYWxpemVkTm9kZS5maWVsZHMsXG4gICAgfSlcbiAgICBub2RlLnNldEZvcm1hdChzZXJpYWxpemVkTm9kZS5mb3JtYXQpXG4gICAgbm9kZS5zZXRJbmRlbnQoc2VyaWFsaXplZE5vZGUuaW5kZW50KVxuICAgIG5vZGUuc2V0RGlyZWN0aW9uKHNlcmlhbGl6ZWROb2RlLmRpcmVjdGlvbilcbiAgICByZXR1cm4gbm9kZVxuICB9XG5cbiAgY2FuQmVFbXB0eSgpOiBmYWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjYW5JbnNlcnRUZXh0QWZ0ZXIoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY2FuSW5zZXJ0VGV4dEJlZm9yZSgpOiBmYWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjcmVhdGVET00oY29uZmlnOiBFZGl0b3JDb25maWcpOiBIVE1MQW5jaG9yRWxlbWVudCB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGVsZW1lbnQuaHJlZiA9IHRoaXMuc2FuaXRpemVVcmwodGhpcy5fX2ZpZWxkcy51cmwgPz8gJycpXG4gICAgfVxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5uZXdUYWIgPz8gZmFsc2UpIHtcbiAgICAgIGVsZW1lbnQudGFyZ2V0ID0gJ19ibGFuaydcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubmV3VGFiID09PSB0cnVlICYmIHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgZWxlbWVudC5yZWwgPSBtYW5hZ2VSZWwoZWxlbWVudC5yZWwsICdhZGQnLCAnbm9vcGVuZXInKVxuICAgIH1cblxuICAgIGFkZENsYXNzTmFtZXNUb0VsZW1lbnQoZWxlbWVudCwgY29uZmlnLnRoZW1lLmxpbmspXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxuXG4gIGV4cG9ydEpTT04oKTogU2VyaWFsaXplZExpbmtOb2RlIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIuZXhwb3J0SlNPTigpLFxuICAgICAgdHlwZTogdGhpcy5nZXRUeXBlKCksXG4gICAgICBmaWVsZHM6IHRoaXMuZ2V0RmllbGRzKCksXG4gICAgICB2ZXJzaW9uOiAyLFxuICAgIH1cbiAgfVxuXG4gIGV4dHJhY3RXaXRoQ2hpbGQoXG4gICAgY2hpbGQ6IExleGljYWxOb2RlLFxuICAgIHNlbGVjdGlvbjogQmFzZVNlbGVjdGlvbixcbiAgICBkZXN0aW5hdGlvbjogJ2Nsb25lJyB8ICdodG1sJyxcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCBhbmNob3JOb2RlID0gc2VsZWN0aW9uLmFuY2hvci5nZXROb2RlKClcbiAgICBjb25zdCBmb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXMuZ2V0Tm9kZSgpXG5cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1BhcmVudE9mKGFuY2hvck5vZGUpICYmXG4gICAgICB0aGlzLmlzUGFyZW50T2YoZm9jdXNOb2RlKSAmJlxuICAgICAgc2VsZWN0aW9uLmdldFRleHRDb250ZW50KCkubGVuZ3RoID4gMFxuICAgIClcbiAgfVxuXG4gIGdldEZpZWxkcygpOiBMaW5rRmllbGRzIHtcbiAgICByZXR1cm4gdGhpcy5nZXRMYXRlc3QoKS5fX2ZpZWxkc1xuICB9XG5cbiAgaW5zZXJ0TmV3QWZ0ZXIoc2VsZWN0aW9uOiBSYW5nZVNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbiA9IHRydWUpOiBFbGVtZW50Tm9kZSB8IG51bGwge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldFBhcmVudE9yVGhyb3coKS5pbnNlcnROZXdBZnRlcihzZWxlY3Rpb24sIHJlc3RvcmVTZWxlY3Rpb24pXG4gICAgaWYgKCRpc0VsZW1lbnROb2RlKGVsZW1lbnQpKSB7XG4gICAgICBjb25zdCBsaW5rTm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7IGZpZWxkczogdGhpcy5fX2ZpZWxkcyB9KVxuICAgICAgZWxlbWVudC5hcHBlbmQobGlua05vZGUpXG4gICAgICByZXR1cm4gbGlua05vZGVcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGlzSW5saW5lKCk6IHRydWUge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBzYW5pdGl6ZVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZFVybCA9IG5ldyBVUkwodXJsKVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNjcmlwdC11cmxcbiAgICAgIGlmICghU1VQUE9SVEVEX1VSTF9QUk9UT0NPTFMuaGFzKHBhcnNlZFVybC5wcm90b2NvbCkpIHtcbiAgICAgICAgcmV0dXJuICdhYm91dDpibGFuaydcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJ2h0dHBzOi8vJ1xuICAgIH1cbiAgICByZXR1cm4gdXJsXG4gIH1cblxuICBzZXRGaWVsZHMoZmllbGRzOiBMaW5rRmllbGRzKTogdm9pZCB7XG4gICAgY29uc3Qgd3JpdGFibGUgPSB0aGlzLmdldFdyaXRhYmxlKClcbiAgICB3cml0YWJsZS5fX2ZpZWxkcyA9IGZpZWxkc1xuICB9XG5cbiAgdXBkYXRlRE9NKHByZXZOb2RlOiBMaW5rTm9kZSwgYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCwgY29uZmlnOiBFZGl0b3JDb25maWcpOiBib29sZWFuIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLl9fZmllbGRzPy51cmxcbiAgICBjb25zdCBuZXdUYWIgPSB0aGlzLl9fZmllbGRzPy5uZXdUYWJcbiAgICBpZiAodXJsICE9IG51bGwgJiYgdXJsICE9PSBwcmV2Tm9kZS5fX2ZpZWxkcz8udXJsICYmIHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgYW5jaG9yLmhyZWYgPSB1cmxcbiAgICB9XG4gICAgaWYgKHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnaW50ZXJuYWwnICYmIHByZXZOb2RlLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGFuY2hvci5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKVxuICAgIH1cblxuICAgIC8vIFRPRE86IG5vdCAxMDAlIHN1cmUgd2h5IHdlJ3JlIHNldHRpZ24gcmVsIHRvICcnIC0gcmV2aXNpdFxuICAgIC8vIFN0YXJ0IHJlbCBjb25maWcgaGVyZSwgdGhlbiBjaGVjayBuZXdUYWIgYmVsb3dcbiAgICBpZiAoYW5jaG9yLnJlbCA9PSBudWxsKSB7XG4gICAgICBhbmNob3IucmVsID0gJydcbiAgICB9XG5cbiAgICBpZiAobmV3VGFiICE9PSBwcmV2Tm9kZS5fX2ZpZWxkcz8ubmV3VGFiKSB7XG4gICAgICBpZiAobmV3VGFiID8/IGZhbHNlKSB7XG4gICAgICAgIGFuY2hvci50YXJnZXQgPSAnX2JsYW5rJ1xuICAgICAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICAgICAgYW5jaG9yLnJlbCA9IG1hbmFnZVJlbChhbmNob3IucmVsLCAnYWRkJywgJ25vb3BlbmVyJylcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYW5jaG9yLnJlbW92ZUF0dHJpYnV0ZSgndGFyZ2V0JylcbiAgICAgICAgYW5jaG9yLnJlbCA9IG1hbmFnZVJlbChhbmNob3IucmVsLCAncmVtb3ZlJywgJ25vb3BlbmVyJylcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5mdW5jdGlvbiBjb252ZXJ0QW5jaG9yRWxlbWVudChkb21Ob2RlOiBOb2RlKTogRE9NQ29udmVyc2lvbk91dHB1dCB7XG4gIGxldCBub2RlOiBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG4gIGlmIChpc0hUTUxBbmNob3JFbGVtZW50KGRvbU5vZGUpKSB7XG4gICAgY29uc3QgY29udGVudCA9IGRvbU5vZGUudGV4dENvbnRlbnRcbiAgICBpZiAoY29udGVudCAhPT0gbnVsbCAmJiBjb250ZW50ICE9PSAnJykge1xuICAgICAgbm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7XG4gICAgICAgIGZpZWxkczoge1xuICAgICAgICAgIGRvYzogbnVsbCxcbiAgICAgICAgICBsaW5rVHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgbmV3VGFiOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgndGFyZ2V0JykgPT09ICdfYmxhbmsnLFxuICAgICAgICAgIHVybDogZG9tTm9kZS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG4gIHJldHVybiB7IG5vZGUgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gJGNyZWF0ZUxpbmtOb2RlKHsgZmllbGRzIH06IHsgZmllbGRzOiBMaW5rRmllbGRzIH0pOiBMaW5rTm9kZSB7XG4gIHJldHVybiAkYXBwbHlOb2RlUmVwbGFjZW1lbnQobmV3IExpbmtOb2RlKHsgZmllbGRzIH0pKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gJGlzTGlua05vZGUobm9kZTogTGV4aWNhbE5vZGUgfCBudWxsIHwgdW5kZWZpbmVkKTogbm9kZSBpcyBMaW5rTm9kZSB7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgTGlua05vZGVcbn1cblxuZXhwb3J0IGNvbnN0IFRPR0dMRV9MSU5LX0NPTU1BTkQ6IExleGljYWxDb21tYW5kPExpbmtQYXlsb2FkIHwgbnVsbD4gPVxuICBjcmVhdGVDb21tYW5kKCdUT0dHTEVfTElOS19DT01NQU5EJylcblxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUxpbmsocGF5bG9hZDogTGlua1BheWxvYWQpOiB2b2lkIHtcbiAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpXG5cbiAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgY29uc3Qgbm9kZXMgPSBzZWxlY3Rpb24uZXh0cmFjdCgpXG5cbiAgaWYgKHBheWxvYWQgPT09IG51bGwpIHtcbiAgICAvLyBSZW1vdmUgTGlua05vZGVzXG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50ID0gbm9kZS5nZXRQYXJlbnQoKVxuXG4gICAgICBpZiAoJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHBhcmVudC5nZXRDaGlsZHJlbigpXG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgIHBhcmVudC5pbnNlcnRCZWZvcmUoY2hpbGRyZW5baV0pXG4gICAgICAgIH1cblxuICAgICAgICBwYXJlbnQucmVtb3ZlKClcbiAgICAgIH1cbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIC8vIEFkZCBvciBtZXJnZSBMaW5rTm9kZXNcbiAgICBpZiAobm9kZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdE5vZGUgPSBub2Rlc1swXVxuICAgICAgLy8gaWYgdGhlIGZpcnN0IG5vZGUgaXMgYSBMaW5rTm9kZSBvciBpZiBpdHNcbiAgICAgIC8vIHBhcmVudCBpcyBhIExpbmtOb2RlLCB3ZSB1cGRhdGUgdGhlIFVSTCwgdGFyZ2V0IGFuZCByZWwuXG4gICAgICBjb25zdCBsaW5rTm9kZTogTGlua05vZGUgfCBudWxsID0gJGlzTGlua05vZGUoZmlyc3ROb2RlKVxuICAgICAgICA/IGZpcnN0Tm9kZVxuICAgICAgICA6ICRnZXRMaW5rQW5jZXN0b3IoZmlyc3ROb2RlKVxuICAgICAgaWYgKGxpbmtOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGxpbmtOb2RlLnNldEZpZWxkcyhwYXlsb2FkLmZpZWxkcylcblxuICAgICAgICBpZiAocGF5bG9hZC50ZXh0ICE9IG51bGwgJiYgcGF5bG9hZC50ZXh0ICE9PSBsaW5rTm9kZS5nZXRUZXh0Q29udGVudCgpKSB7XG4gICAgICAgICAgLy8gcmVtb3ZlIGFsbCBjaGlsZHJlbiBhbmQgYWRkIGNoaWxkIHdpdGggbmV3IHRleHRjb250ZW50OlxuICAgICAgICAgIGxpbmtOb2RlLmFwcGVuZCgkY3JlYXRlVGV4dE5vZGUocGF5bG9hZC50ZXh0KSlcbiAgICAgICAgICBsaW5rTm9kZS5nZXRDaGlsZHJlbigpLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hpbGQgIT09IGxpbmtOb2RlLmdldExhc3RDaGlsZCgpKSB7XG4gICAgICAgICAgICAgIGNoaWxkLnJlbW92ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcHJldlBhcmVudDogRWxlbWVudE5vZGUgfCBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG4gICAgbGV0IGxpbmtOb2RlOiBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG5cbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBub2RlLmdldFBhcmVudCgpXG5cbiAgICAgIGlmIChwYXJlbnQgPT09IGxpbmtOb2RlIHx8IHBhcmVudCA9PT0gbnVsbCB8fCAoJGlzRWxlbWVudE5vZGUobm9kZSkgJiYgIW5vZGUuaXNJbmxpbmUoKSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgIGxpbmtOb2RlID0gcGFyZW50XG4gICAgICAgIHBhcmVudC5zZXRGaWVsZHMocGF5bG9hZC5maWVsZHMpXG4gICAgICAgIGlmIChwYXlsb2FkLnRleHQgIT0gbnVsbCAmJiBwYXlsb2FkLnRleHQgIT09IHBhcmVudC5nZXRUZXh0Q29udGVudCgpKSB7XG4gICAgICAgICAgLy8gcmVtb3ZlIGFsbCBjaGlsZHJlbiBhbmQgYWRkIGNoaWxkIHdpdGggbmV3IHRleHRjb250ZW50OlxuICAgICAgICAgIHBhcmVudC5hcHBlbmQoJGNyZWF0ZVRleHROb2RlKHBheWxvYWQudGV4dCkpXG4gICAgICAgICAgcGFyZW50LmdldENoaWxkcmVuKCkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gcGFyZW50LmdldExhc3RDaGlsZCgpKSB7XG4gICAgICAgICAgICAgIGNoaWxkLnJlbW92ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKCFwYXJlbnQuaXMocHJldlBhcmVudCkpIHtcbiAgICAgICAgcHJldlBhcmVudCA9IHBhcmVudFxuICAgICAgICBsaW5rTm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7IGZpZWxkczogcGF5bG9hZC5maWVsZHMgfSlcblxuICAgICAgICBpZiAoJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGlmIChub2RlLmdldFByZXZpb3VzU2libGluZygpID09PSBudWxsKSB7XG4gICAgICAgICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKGxpbmtOb2RlKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJlbnQuaW5zZXJ0QWZ0ZXIobGlua05vZGUpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUuaW5zZXJ0QmVmb3JlKGxpbmtOb2RlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShub2RlKSkge1xuICAgICAgICBpZiAobm9kZS5pcyhsaW5rTm9kZSkpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IG5vZGUuZ2V0Q2hpbGRyZW4oKVxuXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgbGlua05vZGUuYXBwZW5kKGNoaWxkcmVuW2ldKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGUucmVtb3ZlKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChsaW5rTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBsaW5rTm9kZS5hcHBlbmQobm9kZSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uICRnZXRMaW5rQW5jZXN0b3Iobm9kZTogTGV4aWNhbE5vZGUpOiBMaW5rTm9kZSB8IG51bGwge1xuICByZXR1cm4gJGdldEFuY2VzdG9yKG5vZGUsIChhbmNlc3RvcikgPT4gJGlzTGlua05vZGUoYW5jZXN0b3IpKSBhcyBMaW5rTm9kZVxufVxuXG5mdW5jdGlvbiAkZ2V0QW5jZXN0b3IoXG4gIG5vZGU6IExleGljYWxOb2RlLFxuICBwcmVkaWNhdGU6IChhbmNlc3RvcjogTGV4aWNhbE5vZGUpID0+IGJvb2xlYW4sXG4pOiBMZXhpY2FsTm9kZSB8IG51bGwge1xuICBsZXQgcGFyZW50OiBMZXhpY2FsTm9kZSB8IG51bGwgPSBub2RlXG4gIHdoaWxlIChwYXJlbnQgIT09IG51bGwgJiYgKHBhcmVudCA9IHBhcmVudC5nZXRQYXJlbnQoKSkgIT09IG51bGwgJiYgIXByZWRpY2F0ZShwYXJlbnQpKTtcbiAgcmV0dXJuIHBhcmVudFxufVxuXG5mdW5jdGlvbiBtYW5hZ2VSZWwoaW5wdXQ6IHN0cmluZywgYWN0aW9uOiAnYWRkJyB8ICdyZW1vdmUnLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdDogc3RyaW5nXG4gIGxldCBtdXRhYmxlSW5wdXQgPSBgJHtpbnB1dH1gXG4gIGlmIChhY3Rpb24gPT09ICdhZGQnKSB7XG4gICAgLy8gaWYgd2Ugc29tZWhvdyBnb3Qgb3V0IG9mIHN5bmMgLSBjbGVhbiB1cFxuICAgIGlmIChtdXRhYmxlSW5wdXQuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAodmFsdWUsICdnJylcbiAgICAgIG11dGFibGVJbnB1dCA9IG11dGFibGVJbnB1dC5yZXBsYWNlKHJlLCAnJykudHJpbSgpXG4gICAgfVxuICAgIG11dGFibGVJbnB1dCA9IG11dGFibGVJbnB1dC50cmltKClcbiAgICByZXN1bHQgPSBtdXRhYmxlSW5wdXQubGVuZ3RoID09PSAwID8gYCR7dmFsdWV9YCA6IGAke211dGFibGVJbnB1dH0gJHt2YWx1ZX1gXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKHZhbHVlLCAnZycpXG4gICAgcmVzdWx0ID0gbXV0YWJsZUlucHV0LnJlcGxhY2UocmUsICcnKS50cmltKClcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiYWRkQ2xhc3NOYW1lc1RvRWxlbWVudCIsImlzSFRNTEFuY2hvckVsZW1lbnQiLCIkYXBwbHlOb2RlUmVwbGFjZW1lbnQiLCIkY3JlYXRlVGV4dE5vZGUiLCIkZ2V0U2VsZWN0aW9uIiwiJGlzRWxlbWVudE5vZGUiLCIkaXNSYW5nZVNlbGVjdGlvbiIsIkVsZW1lbnROb2RlIiwiY3JlYXRlQ29tbWFuZCIsIlNVUFBPUlRFRF9VUkxfUFJPVE9DT0xTIiwiU2V0IiwiTGlua05vZGUiLCJfX2ZpZWxkcyIsImNvbnN0cnVjdG9yIiwiZmllbGRzIiwiZG9jIiwibGlua1R5cGUiLCJuZXdUYWIiLCJ1cmwiLCJ1bmRlZmluZWQiLCJrZXkiLCJjbG9uZSIsIm5vZGUiLCJfX2tleSIsImdldFR5cGUiLCJpbXBvcnRET00iLCJhIiwiY29udmVyc2lvbiIsImNvbnZlcnRBbmNob3JFbGVtZW50IiwicHJpb3JpdHkiLCJpbXBvcnRKU09OIiwic2VyaWFsaXplZE5vZGUiLCJ2ZXJzaW9uIiwidmFsdWUiLCJpZCIsIiRjcmVhdGVMaW5rTm9kZSIsInNldEZvcm1hdCIsImZvcm1hdCIsInNldEluZGVudCIsImluZGVudCIsInNldERpcmVjdGlvbiIsImRpcmVjdGlvbiIsImNhbkJlRW1wdHkiLCJjYW5JbnNlcnRUZXh0QWZ0ZXIiLCJjYW5JbnNlcnRUZXh0QmVmb3JlIiwiY3JlYXRlRE9NIiwiY29uZmlnIiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImhyZWYiLCJzYW5pdGl6ZVVybCIsInRhcmdldCIsInJlbCIsIm1hbmFnZVJlbCIsInRoZW1lIiwibGluayIsImV4cG9ydEpTT04iLCJ0eXBlIiwiZ2V0RmllbGRzIiwiZXh0cmFjdFdpdGhDaGlsZCIsImNoaWxkIiwic2VsZWN0aW9uIiwiZGVzdGluYXRpb24iLCJhbmNob3JOb2RlIiwiYW5jaG9yIiwiZ2V0Tm9kZSIsImZvY3VzTm9kZSIsImZvY3VzIiwiaXNQYXJlbnRPZiIsImdldFRleHRDb250ZW50IiwibGVuZ3RoIiwiZ2V0TGF0ZXN0IiwiaW5zZXJ0TmV3QWZ0ZXIiLCJyZXN0b3JlU2VsZWN0aW9uIiwiZ2V0UGFyZW50T3JUaHJvdyIsImxpbmtOb2RlIiwiYXBwZW5kIiwiaXNJbmxpbmUiLCJwYXJzZWRVcmwiLCJVUkwiLCJoYXMiLCJwcm90b2NvbCIsImUiLCJzZXRGaWVsZHMiLCJ3cml0YWJsZSIsImdldFdyaXRhYmxlIiwidXBkYXRlRE9NIiwicHJldk5vZGUiLCJyZW1vdmVBdHRyaWJ1dGUiLCJkb21Ob2RlIiwiY29udGVudCIsInRleHRDb250ZW50IiwiZ2V0QXR0cmlidXRlIiwiJGlzTGlua05vZGUiLCJUT0dHTEVfTElOS19DT01NQU5EIiwidG9nZ2xlTGluayIsInBheWxvYWQiLCJub2RlcyIsImV4dHJhY3QiLCJmb3JFYWNoIiwicGFyZW50IiwiZ2V0UGFyZW50IiwiY2hpbGRyZW4iLCJnZXRDaGlsZHJlbiIsImkiLCJpbnNlcnRCZWZvcmUiLCJyZW1vdmUiLCJmaXJzdE5vZGUiLCIkZ2V0TGlua0FuY2VzdG9yIiwidGV4dCIsImdldExhc3RDaGlsZCIsInByZXZQYXJlbnQiLCJpcyIsImdldFByZXZpb3VzU2libGluZyIsImluc2VydEFmdGVyIiwiJGdldEFuY2VzdG9yIiwiYW5jZXN0b3IiLCJwcmVkaWNhdGUiLCJpbnB1dCIsImFjdGlvbiIsInJlc3VsdCIsIm11dGFibGVJbnB1dCIsImluY2x1ZGVzIiwicmUiLCJSZWdFeHAiLCJyZXBsYWNlIiwidHJpbSJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0Esc0JBQXNCLEVBQUVDLG1CQUFtQixRQUFRLGlCQUFnQjtBQUM1RSxTQUNFQyxxQkFBcUIsRUFDckJDLGVBQWUsRUFDZkMsYUFBYSxFQUNiQyxjQUFjLEVBQ2RDLGlCQUFpQixFQUlqQkMsV0FBVyxFQUtYQyxhQUFhLFFBQ1IsVUFBUztBQUtoQixNQUFNQywwQkFBMEIsSUFBSUMsSUFBSTtJQUFDO0lBQVM7SUFBVTtJQUFXO0lBQVE7Q0FBTztBQUV0RixrQkFBa0IsR0FDbEIsT0FBTyxNQUFNQyxpQkFBaUJKO0lBQzVCSyxTQUFvQjtJQUVwQkMsWUFBWSxFQUNWQyxTQUFTO1FBQ1BDLEtBQUs7UUFDTEMsVUFBVTtRQUNWQyxRQUFRO1FBQ1JDLEtBQUtDO0lBQ1AsQ0FBQyxFQUNEQyxHQUFHLEVBSUosQ0FBRTtRQUNELEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNSLFFBQVEsR0FBR0U7SUFDbEI7SUFFQSxPQUFPTyxNQUFNQyxJQUFjLEVBQVk7UUFDckMsT0FBTyxJQUFJWCxTQUFTO1lBQ2xCRyxRQUFRUSxLQUFLVixRQUFRO1lBQ3JCUSxLQUFLRSxLQUFLQyxLQUFLO1FBQ2pCO0lBQ0Y7SUFFQSxPQUFPQyxVQUFrQjtRQUN2QixPQUFPO0lBQ1Q7SUFFQSxPQUFPQyxZQUFxQztRQUMxQyxPQUFPO1lBQ0xDLEdBQUcsQ0FBQ0osT0FBZ0IsQ0FBQTtvQkFDbEJL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
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL25vZGVzL0xpbmtOb2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZVNlbGVjdGlvbiB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCBsZXhpY2FsVXRpbHNJbXBvcnQgZnJvbSAnQGxleGljYWwvdXRpbHMnXG5jb25zdCB7IGFkZENsYXNzTmFtZXNUb0VsZW1lbnQsIGlzSFRNTEFuY2hvckVsZW1lbnQgfSA9IGxleGljYWxVdGlsc0ltcG9ydFxuXG5pbXBvcnQgbGV4aWNhbEltcG9ydCBmcm9tICdsZXhpY2FsJ1xuY29uc3Qge1xuICAkYXBwbHlOb2RlUmVwbGFjZW1lbnQsXG4gICRjcmVhdGVUZXh0Tm9kZSxcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzRWxlbWVudE5vZGUsXG4gICRpc1JhbmdlU2VsZWN0aW9uLFxuICBFbGVtZW50Tm9kZSxcbiAgY3JlYXRlQ29tbWFuZCxcbn0gPSBsZXhpY2FsSW1wb3J0XG5cbmltcG9ydCB0eXBlIHtcbiAgRE9NQ29udmVyc2lvbk1hcCxcbiAgRE9NQ29udmVyc2lvbk91dHB1dCxcbiAgRWRpdG9yQ29uZmlnLFxuICBFbGVtZW50Tm9kZSBhcyBFbGVtZW50Tm9kZVR5cGUsXG4gIExleGljYWxDb21tYW5kLFxuICBMZXhpY2FsTm9kZSxcbiAgTm9kZUtleSxcbiAgUmFuZ2VTZWxlY3Rpb24sXG59IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB0eXBlIHsgTGlua1BheWxvYWQgfSBmcm9tICcuLi9wbHVnaW5zL2Zsb2F0aW5nTGlua0VkaXRvci90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgTGlua0ZpZWxkcywgU2VyaWFsaXplZExpbmtOb2RlIH0gZnJvbSAnLi90eXBlcy5qcydcblxuY29uc3QgU1VQUE9SVEVEX1VSTF9QUk9UT0NPTFMgPSBuZXcgU2V0KFsnaHR0cDonLCAnaHR0cHM6JywgJ21haWx0bzonLCAnc21zOicsICd0ZWw6J10pXG5cbi8qKiBAbm9Jbmhlcml0RG9jICovXG5leHBvcnQgY2xhc3MgTGlua05vZGUgZXh0ZW5kcyBFbGVtZW50Tm9kZSB7XG4gIF9fZmllbGRzOiBMaW5rRmllbGRzXG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGZpZWxkcyA9IHtcbiAgICAgIGRvYzogbnVsbCxcbiAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICB1cmw6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIGtleSxcbiAgfToge1xuICAgIGZpZWxkczogTGlua0ZpZWxkc1xuICAgIGtleT86IE5vZGVLZXlcbiAgfSkge1xuICAgIHN1cGVyKGtleSlcbiAgICB0aGlzLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICBzdGF0aWMgY2xvbmUobm9kZTogTGlua05vZGUpOiBMaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBMaW5rTm9kZSh7XG4gICAgICBmaWVsZHM6IG5vZGUuX19maWVsZHMsXG4gICAgICBrZXk6IG5vZGUuX19rZXksXG4gICAgfSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdsaW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBET01Db252ZXJzaW9uTWFwIHwgbnVsbCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGE6IChub2RlOiBOb2RlKSA9PiAoe1xuICAgICAgICBjb252ZXJzaW9uOiBjb252ZXJ0QW5jaG9yRWxlbWVudCxcbiAgICAgICAgcHJpb3JpdHk6IDEsXG4gICAgICB9KSxcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZExpbmtOb2RlKTogTGlua05vZGUge1xuICAgIGlmIChcbiAgICAgIHNlcmlhbGl6ZWROb2RlLnZlcnNpb24gPT09IDEgJiZcbiAgICAgIHR5cGVvZiBzZXJpYWxpemVkTm9kZS5maWVsZHM/LmRvYz8udmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICBzZXJpYWxpemVkTm9kZS5maWVsZHM/LmRvYz8udmFsdWU/LmlkXG4gICAgKSB7XG4gICAgICBzZXJpYWxpemVkTm9kZS5maWVsZHMuZG9jLnZhbHVlID0gc2VyaWFsaXplZE5vZGUuZmllbGRzLmRvYy52YWx1ZS5pZFxuICAgICAgc2VyaWFsaXplZE5vZGUudmVyc2lvbiA9IDJcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgIGZpZWxkczogc2VyaWFsaXplZE5vZGUuZmllbGRzLFxuICAgIH0pXG4gICAgbm9kZS5zZXRGb3JtYXQoc2VyaWFsaXplZE5vZGUuZm9ybWF0KVxuICAgIG5vZGUuc2V0SW5kZW50KHNlcmlhbGl6ZWROb2RlLmluZGVudClcbiAgICBub2RlLnNldERpcmVjdGlvbihzZXJpYWxpemVkTm9kZS5kaXJlY3Rpb24pXG4gICAgcmV0dXJuIG5vZGVcbiAgfVxuXG4gIGNhbkJlRW1wdHkoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY2FuSW5zZXJ0VGV4dEFmdGVyKCk6IGZhbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNhbkluc2VydFRleHRCZWZvcmUoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY3JlYXRlRE9NKGNvbmZpZzogRWRpdG9yQ29uZmlnKTogSFRNTEFuY2hvckVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBlbGVtZW50LmhyZWYgPSB0aGlzLnNhbml0aXplVXJsKHRoaXMuX19maWVsZHMudXJsID8/ICcnKVxuICAgIH1cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubmV3VGFiID8/IGZhbHNlKSB7XG4gICAgICBlbGVtZW50LnRhcmdldCA9ICdfYmxhbmsnXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX19maWVsZHM/Lm5ld1RhYiA9PT0gdHJ1ZSAmJiB0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGVsZW1lbnQucmVsID0gbWFuYWdlUmVsKGVsZW1lbnQucmVsLCAnYWRkJywgJ25vb3BlbmVyJylcbiAgICB9XG5cbiAgICBhZGRDbGFzc05hbWVzVG9FbGVtZW50KGVsZW1lbnQsIGNvbmZpZy50aGVtZS5saW5rKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cblxuICBleHBvcnRKU09OKCk6IFNlcmlhbGl6ZWRMaW5rTm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmV4cG9ydEpTT04oKSxcbiAgICAgIHR5cGU6IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgZmllbGRzOiB0aGlzLmdldEZpZWxkcygpLFxuICAgICAgdmVyc2lvbjogMixcbiAgICB9XG4gIH1cblxuICBleHRyYWN0V2l0aENoaWxkKFxuICAgIGNoaWxkOiBMZXhpY2FsTm9kZSxcbiAgICBzZWxlY3Rpb246IEJhc2VTZWxlY3Rpb24sXG4gICAgZGVzdGluYXRpb246ICdjbG9uZScgfCAnaHRtbCcsXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgY29uc3QgYW5jaG9yTm9kZSA9IHNlbGVjdGlvbi5hbmNob3IuZ2V0Tm9kZSgpXG4gICAgY29uc3QgZm9jdXNOb2RlID0gc2VsZWN0aW9uLmZvY3VzLmdldE5vZGUoKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNQYXJlbnRPZihhbmNob3JOb2RlKSAmJlxuICAgICAgdGhpcy5pc1BhcmVudE9mKGZvY3VzTm9kZSkgJiZcbiAgICAgIHNlbGVjdGlvbi5nZXRUZXh0Q29udGVudCgpLmxlbmd0aCA+IDBcbiAgICApXG4gIH1cblxuICBnZXRGaWVsZHMoKTogTGlua0ZpZWxkcyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGF0ZXN0KCkuX19maWVsZHNcbiAgfVxuXG4gIGluc2VydE5ld0FmdGVyKHNlbGVjdGlvbjogUmFuZ2VTZWxlY3Rpb24sIHJlc3RvcmVTZWxlY3Rpb24gPSB0cnVlKTogRWxlbWVudE5vZGVUeXBlIHwgbnVsbCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0UGFyZW50T3JUaHJvdygpLmluc2VydE5ld0FmdGVyKHNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbilcbiAgICBpZiAoJGlzRWxlbWVudE5vZGUoZWxlbWVudCkpIHtcbiAgICAgIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUxpbmtOb2RlKHsgZmllbGRzOiB0aGlzLl9fZmllbGRzIH0pXG4gICAgICBlbGVtZW50LmFwcGVuZChsaW5rTm9kZSlcbiAgICAgIHJldHVybiBsaW5rTm9kZVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgaXNJbmxpbmUoKTogdHJ1ZSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHNhbml0aXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkVXJsID0gbmV3IFVSTCh1cmwpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2NyaXB0LXVybFxuICAgICAgaWYgKCFTVVBQT1JURURfVVJMX1BST1RPQ09MUy5oYXMocGFyc2VkVXJsLnByb3RvY29sKSkge1xuICAgICAgICByZXR1cm4gJ2Fib3V0OmJsYW5rJ1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAnaHR0cHM6Ly8nXG4gICAgfVxuICAgIHJldHVybiB1cmxcbiAgfVxuXG4gIHNldEZpZWxkcyhmaWVsZHM6IExpbmtGaWVsZHMpOiB2b2lkIHtcbiAgICBjb25zdCB3cml0YWJsZSA9IHRoaXMuZ2V0V3JpdGFibGUoKVxuICAgIHdyaXRhYmxlLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICB1cGRhdGVET00ocHJldk5vZGU6IExpbmtOb2RlLCBhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50LCBjb25maWc6IEVkaXRvckNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuX19maWVsZHM/LnVybFxuICAgIGNvbnN0IG5ld1RhYiA9IHRoaXMuX19maWVsZHM/Lm5ld1RhYlxuICAgIGlmICh1cmwgIT0gbnVsbCAmJiB1cmwgIT09IHByZXZOb2RlLl9fZmllbGRzPy51cmwgJiYgdGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBhbmNob3IuaHJlZiA9IHVybFxuICAgIH1cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdpbnRlcm5hbCcgJiYgcHJldk5vZGUuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgYW5jaG9yLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpXG4gICAgfVxuXG4gICAgLy8gVE9ETzogbm90IDEwMCUgc3VyZSB3aHkgd2UncmUgc2V0dGlnbiByZWwgdG8gJycgLSByZXZpc2l0XG4gICAgLy8gU3RhcnQgcmVsIGNvbmZpZyBoZXJlLCB0aGVuIGNoZWNrIG5ld1RhYiBiZWxvd1xuICAgIGlmIChhbmNob3IucmVsID09IG51bGwpIHtcbiAgICAgIGFuY2hvci5yZWwgPSAnJ1xuICAgIH1cblxuICAgIGlmIChuZXdUYWIgIT09IHByZXZOb2RlLl9fZmllbGRzPy5uZXdUYWIpIHtcbiAgICAgIGlmIChuZXdUYWIgPz8gZmFsc2UpIHtcbiAgICAgICAgYW5jaG9yLnRhcmdldCA9ICdfYmxhbmsnXG4gICAgICAgIGlmICh0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdhZGQnLCAnbm9vcGVuZXInKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmNob3IucmVtb3ZlQXR0cmlidXRlKCd0YXJnZXQnKVxuICAgICAgICBhbmNob3IucmVsID0gbWFuYWdlUmVsKGFuY2hvci5yZWwsICdyZW1vdmUnLCAnbm9vcGVuZXInKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRBbmNob3JFbGVtZW50KGRvbU5vZGU6IE5vZGUpOiBET01Db252ZXJzaW9uT3V0cHV0IHtcbiAgbGV0IG5vZGU6IExpbmtOb2RlIHwgbnVsbCA9IG51bGxcbiAgaWYgKGlzSFRNTEFuY2hvckVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICBjb25zdCBjb250ZW50ID0gZG9tTm9kZS50ZXh0Q29udGVudFxuICAgIGlmIChjb250ZW50ICE9PSBudWxsICYmIGNvbnRlbnQgIT09ICcnKSB7XG4gICAgICBub2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgZG9jOiBudWxsLFxuICAgICAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICBuZXdUYWI6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKSA9PT0gJ19ibGFuaycsXG4gICAgICAgICAgdXJsOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgnaHJlZicpID8/ICcnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgbm9kZSB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiAkY3JlYXRlTGlua05vZGUoeyBmaWVsZHMgfTogeyBmaWVsZHM6IExpbmtGaWVsZHMgfSk6IExpbmtOb2RlIHtcbiAgcmV0dXJuICRhcHBseU5vZGVSZXBsYWNlbWVudChuZXcgTGlua05vZGUoeyBmaWVsZHMgfSkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiAkaXNMaW5rTm9kZShub2RlOiBMZXhpY2FsTm9kZSB8IG51bGwgfCB1bmRlZmluZWQpOiBub2RlIGlzIExpbmtOb2RlIHtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBMaW5rTm9kZVxufVxuXG5leHBvcnQgY29uc3QgVE9HR0xFX0xJTktfQ09NTUFORDogTGV4aWNhbENvbW1hbmQ8TGlua1BheWxvYWQgfCBudWxsPiA9XG4gIGNyZWF0ZUNvbW1hbmQoJ1RPR0dMRV9MSU5LX0NPTU1BTkQnKVxuXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlTGluayhwYXlsb2FkOiBMaW5rUGF5bG9hZCk6IHZvaWQge1xuICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcblxuICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICByZXR1cm5cbiAgfVxuICBjb25zdCBub2RlcyA9IHNlbGVjdGlvbi5leHRyYWN0KClcblxuICBpZiAocGF5bG9hZCA9PT0gbnVsbCkge1xuICAgIC8vIFJlbW92ZSBMaW5rTm9kZXNcbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBub2RlLmdldFBhcmVudCgpXG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gcGFyZW50LmdldENoaWxkcmVuKClcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShjaGlsZHJlbltpXSlcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmVudC5yZW1vdmUoKVxuICAgICAgfVxuICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgLy8gQWRkIG9yIG1lcmdlIExpbmtOb2Rlc1xuICAgIGlmIChub2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IG5vZGVzWzBdXG4gICAgICAvLyBpZiB0aGUgZmlyc3Qgbm9kZSBpcyBhIExpbmtOb2RlIG9yIGlmIGl0c1xuICAgICAgLy8gcGFyZW50IGlzIGEgTGlua05vZGUsIHdlIHVwZGF0ZSB0aGUgVVJMLCB0YXJnZXQgYW5kIHJlbC5cbiAgICAgIGNvbnN0IGxpbmtOb2RlOiBMaW5rTm9kZSB8IG51bGwgPSAkaXNMaW5rTm9kZShmaXJzdE5vZGUpXG4gICAgICAgID8gZmlyc3ROb2RlXG4gICAgICAgIDogJGdldExpbmtBbmNlc3RvcihmaXJzdE5vZGUpXG4gICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgbGlua05vZGUuc2V0RmllbGRzKHBheWxvYWQuZmllbGRzKVxuXG4gICAgICAgIGlmIChwYXlsb2FkLnRleHQgIT0gbnVsbCAmJiBwYXlsb2FkLnRleHQgIT09IGxpbmtOb2RlLmdldFRleHRDb250ZW50KCkpIHtcbiAgICAgICAgICAvLyByZW1vdmUgYWxsIGNoaWxkcmVuIGFuZCBhZGQgY2hpbGQgd2l0aCBuZXcgdGV4dGNvbnRlbnQ6XG4gICAgICAgICAgbGlua05vZGUuYXBwZW5kKCRjcmVhdGVUZXh0Tm9kZShwYXlsb2FkLnRleHQpKVxuICAgICAgICAgIGxpbmtOb2RlLmdldENoaWxkcmVuKCkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gbGlua05vZGUuZ2V0TGFzdENoaWxkKCkpIHtcbiAgICAgICAgICAgICAgY2hpbGQucmVtb3ZlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBwcmV2UGFyZW50OiBFbGVtZW50Tm9kZVR5cGUgfCBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG4gICAgbGV0IGxpbmtOb2RlOiBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG5cbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBub2RlLmdldFBhcmVudCgpXG5cbiAgICAgIGlmIChwYXJlbnQgPT09IGxpbmtOb2RlIHx8IHBhcmVudCA9PT0gbnVsbCB8fCAoJGlzRWxlbWVudE5vZGUobm9kZSkgJiYgIW5vZGUuaXNJbmxpbmUoKSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgIGxpbmtOb2RlID0gcGFyZW50XG4gICAgICAgIHBhcmVudC5zZXRGaWVsZHMocGF5bG9hZC5maWVsZHMpXG4gICAgICAgIGlmIChwYXlsb2FkLnRleHQgIT0gbnVsbCAmJiBwYXlsb2FkLnRleHQgIT09IHBhcmVudC5nZXRUZXh0Q29udGVudCgpKSB7XG4gICAgICAgICAgLy8gcmVtb3ZlIGFsbCBjaGlsZHJlbiBhbmQgYWRkIGNoaWxkIHdpdGggbmV3IHRleHRjb250ZW50OlxuICAgICAgICAgIHBhcmVudC5hcHBlbmQoJGNyZWF0ZVRleHROb2RlKHBheWxvYWQudGV4dCkpXG4gICAgICAgICAgcGFyZW50LmdldENoaWxkcmVuKCkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gcGFyZW50LmdldExhc3RDaGlsZCgpKSB7XG4gICAgICAgICAgICAgIGNoaWxkLnJlbW92ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKCFwYXJlbnQuaXMocHJldlBhcmVudCkpIHtcbiAgICAgICAgcHJldlBhcmVudCA9IHBhcmVudFxuICAgICAgICBsaW5rTm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7IGZpZWxkczogcGF5bG9hZC5maWVsZHMgfSlcblxuICAgICAgICBpZiAoJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGlmIChub2RlLmdldFByZXZpb3VzU2libGluZygpID09PSBudWxsKSB7XG4gICAgICAgICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKGxpbmtOb2RlKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJlbnQuaW5zZXJ0QWZ0ZXIobGlua05vZGUpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUuaW5zZXJ0QmVmb3JlKGxpbmtOb2RlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShub2RlKSkge1xuICAgICAgICBpZiAobm9kZS5pcyhsaW5rTm9kZSkpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IG5vZGUuZ2V0Q2hpbGRyZW4oKVxuXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgbGlua05vZGUuYXBwZW5kKGNoaWxkcmVuW2ldKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGUucmVtb3ZlKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChsaW5rTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBsaW5rTm9kZS5hcHBlbmQobm9kZSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uICRnZXRMaW5rQW5jZXN0b3Iobm9kZTogTGV4aWNhbE5vZGUpOiBMaW5rTm9kZSB8IG51bGwge1xuICByZXR1cm4gJGdldEFuY2VzdG9yKG5vZGUsIChhbmNlc3RvcikgPT4gJGlzTGlua05vZGUoYW5jZXN0b3IpKSBhcyBMaW5rTm9kZVxufVxuXG5mdW5jdGlvbiAkZ2V0QW5jZXN0b3IoXG4gIG5vZGU6IExleGljYWxOb2RlLFxuICBwcmVkaWNhdGU6IChhbmNlc3RvcjogTGV4aWNhbE5vZGUpID0+IGJvb2xlYW4sXG4pOiBMZXhpY2FsTm9kZSB8IG51bGwge1xuICBsZXQgcGFyZW50OiBMZXhpY2FsTm9kZSB8IG51bGwgPSBub2RlXG4gIHdoaWxlIChwYXJlbnQgIT09IG51bGwgJiYgKHBhcmVudCA9IHBhcmVudC5nZXRQYXJlbnQoKSkgIT09IG51bGwgJiYgIXByZWRpY2F0ZShwYXJlbnQpKTtcbiAgcmV0dXJuIHBhcmVudFxufVxuXG5mdW5jdGlvbiBtYW5hZ2VSZWwoaW5wdXQ6IHN0cmluZywgYWN0aW9uOiAnYWRkJyB8ICdyZW1vdmUnLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdDogc3RyaW5nXG4gIGxldCBtdXRhYmxlSW5wdXQgPSBgJHtpbnB1dH1gXG4gIGlmIChhY3Rpb24gPT09ICdhZGQnKSB7XG4gICAgLy8gaWYgd2Ugc29tZWhvdyBnb3Qgb3V0IG9mIHN5bmMgLSBjbGVhbiB1cFxuICAgIGlmIChtdXRhYmxlSW5wdXQuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAodmFsdWUsICdnJylcbiAgICAgIG11dGFibGVJbnB1dCA9IG11dGFibGVJbnB1dC5yZXBsYWNlKHJlLCAnJykudHJpbSgpXG4gICAgfVxuICAgIG11dGFibGVJbnB1dCA9IG11dGFibGVJbnB1dC50cmltKClcbiAgICByZXN1bHQgPSBtdXRhYmxlSW5wdXQubGVuZ3RoID09PSAwID8gYCR7dmFsdWV9YCA6IGAke211dGFibGVJbnB1dH0gJHt2YWx1ZX1gXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKHZhbHVlLCAnZycpXG4gICAgcmVzdWx0ID0gbXV0YWJsZUlucHV0LnJlcGxhY2UocmUsICcnKS50cmltKClcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsibGV4aWNhbFV0aWxzSW1wb3J0IiwiYWRkQ2xhc3NOYW1lc1RvRWxlbWVudCIsImlzSFRNTEFuY2hvckVsZW1lbnQiLCJsZXhpY2FsSW1wb3J0IiwiJGFwcGx5Tm9kZVJlcGxhY2VtZW50IiwiJGNyZWF0ZVRleHROb2RlIiwiJGdldFNlbGVjdGlvbiIsIiRpc0VsZW1lbnROb2RlIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJFbGVtZW50Tm9kZSIsImNyZWF0ZUNvbW1hbmQiLCJTVVBQT1JURURfVVJMX1BST1RPQ09MUyIsIlNldCIsIkxpbmtOb2RlIiwiX19maWVsZHMiLCJjb25zdHJ1Y3RvciIsImZpZWxkcyIsImRvYyIsImxpbmtUeXBlIiwibmV3VGFiIiwidXJsIiwidW5kZWZpbmVkIiwia2V5IiwiY2xvbmUiLCJub2RlIiwiX19rZXkiLCJnZXRUeXBlIiwiaW1wb3J0RE9NIiwiYSIsImNvbnZlcnNpb24iLCJjb252ZXJ0QW5jaG9yRWxlbWVudCIsInByaW9yaXR5IiwiaW1wb3J0SlNPTiIsInNlcmlhbGl6ZWROb2RlIiwidmVyc2lvbiIsInZhbHVlIiwiaWQiLCIkY3JlYXRlTGlua05vZGUiLCJzZXRGb3JtYXQiLCJmb3JtYXQiLCJzZXRJbmRlbnQiLCJpbmRlbnQiLCJzZXREaXJlY3Rpb24iLCJkaXJlY3Rpb24iLCJjYW5CZUVtcHR5IiwiY2FuSW5zZXJ0VGV4dEFmdGVyIiwiY2FuSW5zZXJ0VGV4dEJlZm9yZSIsImNyZWF0ZURPTSIsImNvbmZpZyIsImVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJocmVmIiwic2FuaXRpemVVcmwiLCJ0YXJnZXQiLCJyZWwiLCJtYW5hZ2VSZWwiLCJ0aGVtZSIsImxpbmsiLCJleHBvcnRKU09OIiwidHlwZSIsImdldEZpZWxkcyIsImV4dHJhY3RXaXRoQ2hpbGQiLCJjaGlsZCIsInNlbGVjdGlvbiIsImRlc3RpbmF0aW9uIiwiYW5jaG9yTm9kZSIsImFuY2hvciIsImdldE5vZGUiLCJmb2N1c05vZGUiLCJmb2N1cyIsImlzUGFyZW50T2YiLCJnZXRUZXh0Q29udGVudCIsImxlbmd0aCIsImdldExhdGVzdCIsImluc2VydE5ld0FmdGVyIiwicmVzdG9yZVNlbGVjdGlvbiIsImdldFBhcmVudE9yVGhyb3ciLCJsaW5rTm9kZSIsImFwcGVuZCIsImlzSW5saW5lIiwicGFyc2VkVXJsIiwiVVJMIiwiaGFzIiwicHJvdG9jb2wiLCJlIiwic2V0RmllbGRzIiwid3JpdGFibGUiLCJnZXRXcml0YWJsZSIsInVwZGF0ZURPTSIsInByZXZOb2RlIiwicmVtb3ZlQXR0cmlidXRlIiwiZG9tTm9kZSIsImNvbnRlbnQiLCJ0ZXh0Q29udGVudCIsImdldEF0dHJpYnV0ZSIsIiRpc0xpbmtOb2RlIiwiVE9HR0xFX0xJTktfQ09NTUFORCIsInRvZ2dsZUxpbmsiLCJwYXlsb2FkIiwibm9kZXMiLCJleHRyYWN0IiwiZm9yRWFjaCIsInBhcmVudCIsImdldFBhcmVudCIsImNoaWxkcmVuIiwiZ2V0Q2hpbGRyZW4iLCJpIiwiaW5zZXJ0QmVmb3JlIiwicmVtb3ZlIiwiZmlyc3ROb2RlIiwiJGdldExpbmtBbmNlc3RvciIsInRleHQiLCJnZXRMYXN0Q2hpbGQiLCJwcmV2UGFyZW50IiwiaXMiLCJnZXRQcmV2aW91c1NpYmxpbmciLCJpbnNlcnRBZnRlciIsIiRnZXRBbmNlc3RvciIsImFuY2VzdG9yIiwicHJlZGljYXRlIiwiaW5wdXQiLCJhY3Rpb24iLCJyZXN1bHQiLCJtdXRhYmxlSW5wdXQiLCJpbmNsdWRlcyIsInJlIiwiUmVnRXhwIiwicmVwbGFjZSIsInRyaW0iXSwibWFwcGluZ3MiOiJBQUVBLE9BQU9BLHdCQUF3QixpQkFBZ0I7QUFDL0MsTUFBTSxFQUFFQyxzQkFBc0IsRUFBRUMsbUJBQW1CLEVBQUUsR0FBR0Y7QUFFeEQsT0FBT0csbUJBQW1CLFVBQVM7QUFDbkMsTUFBTSxFQUNKQyxxQkFBcUIsRUFDckJDLGVBQWUsRUFDZkMsYUFBYSxFQUNiQyxjQUFjLEVBQ2RDLGlCQUFpQixFQUNqQkMsV0FBVyxFQUNYQyxhQUFhLEVBQ2QsR0FBR1A7QUFnQkosTUFBTVEsMEJBQTBCLElBQUlDLElBQUk7SUFBQztJQUFTO0lBQVU7SUFBVztJQUFRO0NBQU87QUFFdEYsa0JBQWtCLEdBQ2xCLE9BQU8sTUFBTUMsaUJBQWlCSjtJQUM1QkssU0FBb0I7SUFFcEJDLFlBQVksRUFDVkMsU0FBUztRQUNQQyxLQUFLO1FBQ0xDLFVBQVU7UUFDVkMsUUFBUTtRQUNSQyxLQUFLQztJQUNQLENBQUMsRUFDREMsR0FBRyxFQUlKLENBQUU7UUFDRCxLQUFLLENBQUNBO1FBQ04sSUFBSSxD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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/link/plugins/autoLink/index.tsx"],"names":[],"mappings":";AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAQtD,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAA;AAEpE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,UAE3C,MAAM;;;;;EAUrB;AA4XD,wBAAgB,cAAc,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAMnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/link/plugins/autoLink/index.tsx"],"names":[],"mappings":";AAwBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAQtD,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAA;AAEpE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,UAE3C,MAAM;;;;;EAUrB;AA4XD,wBAAgB,cAAc,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAMnD"}
@@ -1,7 +1,10 @@
1
1
  'use client';
2
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
3
- import { mergeRegister } from '@lexical/utils';
4
- import { $createTextNode, $getSelection, $isElementNode, $isLineBreakNode, $isNodeSelection, $isRangeSelection, $isTextNode, TextNode } from 'lexical';
2
+ import lexicalComposerContextImport from '@lexical/react/LexicalComposerContext.js';
3
+ const { useLexicalComposerContext } = lexicalComposerContextImport;
4
+ import lexicalUtilsImport from '@lexical/utils';
5
+ const { mergeRegister } = lexicalUtilsImport;
6
+ import lexicalImport from 'lexical';
7
+ const { $createTextNode, $getSelection, $isElementNode, $isLineBreakNode, $isNodeSelection, $isRangeSelection, $isTextNode, TextNode: TextNodeValue } = lexicalImport;
5
8
  import { useEffect } from 'react';
6
9
  import { invariant } from '../../../../lexical/utils/invariant.js';
7
10
  import { $createAutoLinkNode, $isAutoLinkNode, AutoLinkNode } from '../../nodes/AutoLinkNode.js';
@@ -280,7 +283,7 @@ function useAutoLink(editor, matchers, onChange) {
280
283
  onChange(url, prevUrl);
281
284
  }
282
285
  };
283
- return mergeRegister(editor.registerNodeTransform(TextNode, (textNode)=>{
286
+ return mergeRegister(editor.registerNodeTransform(TextNodeValue, (textNode)=>{
284
287
  const parent = textNode.getParentOrThrow();
285
288
  const previous = textNode.getPreviousSibling();
286
289
  if ($isAutoLinkNode(parent)) {
@@ -315,4 +318,4 @@ export function AutoLinkPlugin() {
315
318
  return null;
316
319
  }
317
320
 
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvYXV0b0xpbmsvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBFbGVtZW50Tm9kZSwgTGV4aWNhbEVkaXRvciwgTGV4aWNhbE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dC5qcydcbmltcG9ydCB7IG1lcmdlUmVnaXN0ZXIgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7XG4gICRjcmVhdGVUZXh0Tm9kZSxcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzRWxlbWVudE5vZGUsXG4gICRpc0xpbmVCcmVha05vZGUsXG4gICRpc05vZGVTZWxlY3Rpb24sXG4gICRpc1JhbmdlU2VsZWN0aW9uLFxuICAkaXNUZXh0Tm9kZSxcbiAgVGV4dE5vZGUsXG59IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBMaW5rRmllbGRzIH0gZnJvbSAnLi4vLi4vbm9kZXMvdHlwZXMuanMnXG5cbmltcG9ydCB7IGludmFyaWFudCB9IGZyb20gJy4uLy4uLy4uLy4uL2xleGljYWwvdXRpbHMvaW52YXJpYW50LmpzJ1xuaW1wb3J0IHsgJGNyZWF0ZUF1dG9MaW5rTm9kZSwgJGlzQXV0b0xpbmtOb2RlLCBBdXRvTGlua05vZGUgfSBmcm9tICcuLi8uLi9ub2Rlcy9BdXRvTGlua05vZGUuanMnXG5pbXBvcnQgeyAkaXNMaW5rTm9kZSB9IGZyb20gJy4uLy4uL25vZGVzL0xpbmtOb2RlLmpzJ1xuXG50eXBlIENoYW5nZUhhbmRsZXIgPSAodXJsOiBudWxsIHwgc3RyaW5nLCBwcmV2VXJsOiBudWxsIHwgc3RyaW5nKSA9PiB2b2lkXG5cbmludGVyZmFjZSBMaW5rTWF0Y2hlclJlc3VsdCB7XG4gIGZpZWxkcz86IExpbmtGaWVsZHNcbiAgaW5kZXg6IG51bWJlclxuICBsZW5ndGg6IG51bWJlclxuICB0ZXh0OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTGlua01hdGNoZXIgPSAodGV4dDogc3RyaW5nKSA9PiBMaW5rTWF0Y2hlclJlc3VsdCB8IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cChcbiAgcmVnRXhwOiBSZWdFeHAsXG4gIHVybFRyYW5zZm9ybWVyOiAodGV4dDogc3RyaW5nKSA9PiBzdHJpbmcgPSAodGV4dCkgPT4gdGV4dCxcbikge1xuICByZXR1cm4gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1hdGNoID0gcmVnRXhwLmV4ZWModGV4dClcbiAgICBpZiAobWF0Y2ggPT09IG51bGwpIHJldHVybiBudWxsXG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiBtYXRjaC5pbmRleCxcbiAgICAgIGxlbmd0aDogbWF0Y2hbMF0ubGVuZ3RoLFxuICAgICAgdGV4dDogbWF0Y2hbMF0sXG4gICAgICB1cmw6IHVybFRyYW5zZm9ybWVyKG1hdGNoWzBdKSxcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEZpcnN0TWF0Y2godGV4dDogc3RyaW5nLCBtYXRjaGVyczogTGlua01hdGNoZXJbXSk6IExpbmtNYXRjaGVyUmVzdWx0IHwgbnVsbCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWF0Y2hlcnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBtYXRjaCA9IG1hdGNoZXJzW2ldKHRleHQpXG5cbiAgICBpZiAobWF0Y2ggIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1hdGNoXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuY29uc3QgUFVOQ1RVQVRJT05fT1JfU1BBQ0UgPSAvWy4sO1xcc10vXG5cbmZ1bmN0aW9uIGlzU2VwYXJhdG9yKGNoYXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gUFVOQ1RVQVRJT05fT1JfU1BBQ0UudGVzdChjaGFyKVxufVxuXG5mdW5jdGlvbiBlbmRzV2l0aFNlcGFyYXRvcih0ZXh0Q29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1NlcGFyYXRvcih0ZXh0Q29udGVudFt0ZXh0Q29udGVudC5sZW5ndGggLSAxXSlcbn1cblxuZnVuY3Rpb24gc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0Q29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1NlcGFyYXRvcih0ZXh0Q29udGVudFswXSlcbn1cblxuZnVuY3Rpb24gaXNQcmV2aW91c05vZGVWYWxpZChub2RlOiBMZXhpY2FsTm9kZSk6IGJvb2xlYW4ge1xuICBsZXQgcHJldmlvdXNOb2RlID0gbm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKVxuICBpZiAoJGlzRWxlbWVudE5vZGUocHJldmlvdXNOb2RlKSkge1xuICAgIHByZXZpb3VzTm9kZSA9IHByZXZpb3VzTm9kZS5nZXRMYXN0RGVzY2VuZGFudCgpXG4gIH1cbiAgcmV0dXJuIChcbiAgICBwcmV2aW91c05vZGUgPT09IG51bGwgfHxcbiAgICAkaXNMaW5lQnJlYWtOb2RlKHByZXZpb3VzTm9kZSkgfHxcbiAgICAoJGlzVGV4dE5vZGUocHJldmlvdXNOb2RlKSAmJiBlbmRzV2l0aFNlcGFyYXRvcihwcmV2aW91c05vZGUuZ2V0VGV4dENvbnRlbnQoKSkpXG4gIClcbn1cblxuZnVuY3Rpb24gaXNOZXh0Tm9kZVZhbGlkKG5vZGU6IExleGljYWxOb2RlKTogYm9vbGVhbiB7XG4gIGxldCBuZXh0Tm9kZSA9IG5vZGUuZ2V0TmV4dFNpYmxpbmcoKVxuICBpZiAoJGlzRWxlbWVudE5vZGUobmV4dE5vZGUpKSB7XG4gICAgbmV4dE5vZGUgPSBuZXh0Tm9kZS5nZXRGaXJzdERlc2NlbmRhbnQoKVxuICB9XG4gIHJldHVybiAoXG4gICAgbmV4dE5vZGUgPT09IG51bGwgfHxcbiAgICAkaXNMaW5lQnJlYWtOb2RlKG5leHROb2RlKSB8fFxuICAgICgkaXNUZXh0Tm9kZShuZXh0Tm9kZSkgJiYgc3RhcnRzV2l0aFNlcGFyYXRvcihuZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpKSlcbiAgKVxufVxuXG5mdW5jdGlvbiBpc0NvbnRlbnRBcm91bmRJc1ZhbGlkKFxuICBtYXRjaFN0YXJ0OiBudW1iZXIsXG4gIG1hdGNoRW5kOiBudW1iZXIsXG4gIHRleHQ6IHN0cmluZyxcbiAgbm9kZXM6IFRleHROb2RlW10sXG4pOiBib29sZWFuIHtcbiAgY29uc3QgY29udGVudEJlZm9yZUlzVmFsaWQgPVxuICAgIG1hdGNoU3RhcnQgPiAwID8gaXNTZXBhcmF0b3IodGV4dFttYXRjaFN0YXJ0IC0gMV0pIDogaXNQcmV2aW91c05vZGVWYWxpZChub2Rlc1swXSlcbiAgaWYgKCFjb250ZW50QmVmb3JlSXNWYWxpZCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY29uc3QgY29udGVudEFmdGVySXNWYWxpZCA9XG4gICAgbWF0Y2hFbmQgPCB0ZXh0Lmxlbmd0aCA/IGlzU2VwYXJhdG9yKHRleHRbbWF0Y2hFbmRdKSA6IGlzTmV4dE5vZGVWYWxpZChub2Rlc1tub2Rlcy5sZW5ndGggLSAxXSlcbiAgcmV0dXJuIGNvbnRlbnRBZnRlcklzVmFsaWRcbn1cblxuZnVuY3Rpb24gZXh0cmFjdE1hdGNoaW5nTm9kZXMoXG4gIG5vZGVzOiBUZXh0Tm9kZVtdLFxuICBzdGFydEluZGV4OiBudW1iZXIsXG4gIGVuZEluZGV4OiBudW1iZXIsXG4pOiBbXG4gIG1hdGNoaW5nT2Zmc2V0OiBudW1iZXIsXG4gIHVubW9kaWZpZWRCZWZvcmVOb2RlczogVGV4dE5vZGVbXSxcbiAgbWF0Y2hpbmdOb2RlczogVGV4dE5vZGVbXSxcbiAgdW5tb2RpZmllZEFmdGVyTm9kZXM6IFRleHROb2RlW10sXG5dIHtcbiAgY29uc3QgdW5tb2RpZmllZEJlZm9yZU5vZGVzOiBUZXh0Tm9kZVtdID0gW11cbiAgY29uc3QgbWF0Y2hpbmdOb2RlczogVGV4dE5vZGVbXSA9IFtdXG4gIGNvbnN0IHVubW9kaWZpZWRBZnRlck5vZGVzOiBUZXh0Tm9kZVtdID0gW11cbiAgbGV0IG1hdGNoaW5nT2Zmc2V0ID0gMFxuXG4gIGxldCBjdXJyZW50T2Zmc2V0ID0gMFxuICBjb25zdCBjdXJyZW50Tm9kZXMgPSBbLi4ubm9kZXNdXG5cbiAgd2hpbGUgKGN1cnJlbnROb2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZXNbMF1cbiAgICBjb25zdCBjdXJyZW50Tm9kZVRleHQgPSBjdXJyZW50Tm9kZS5nZXRUZXh0Q29udGVudCgpXG4gICAgY29uc3QgY3VycmVudE5vZGVMZW5ndGggPSBjdXJyZW50Tm9kZVRleHQubGVuZ3RoXG4gICAgY29uc3QgY3VycmVudE5vZGVTdGFydCA9IGN1cnJlbnRPZmZzZXRcbiAgICBjb25zdCBjdXJyZW50Tm9kZUVuZCA9IGN1cnJlbnRPZmZzZXQgKyBjdXJyZW50Tm9kZUxlbmd0aFxuXG4gICAgaWYgKGN1cnJlbnROb2RlRW5kIDw9IHN0YXJ0SW5kZXgpIHtcbiAgICAgIHVubW9kaWZpZWRCZWZvcmVOb2Rlcy5wdXNoKGN1cnJlbnROb2RlKVxuICAgICAgbWF0Y2hpbmdPZmZzZXQgKz0gY3VycmVudE5vZGVMZW5ndGhcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnROb2RlU3RhcnQgPj0gZW5kSW5kZXgpIHtcbiAgICAgIHVubW9kaWZpZWRBZnRlck5vZGVzLnB1c2goY3VycmVudE5vZGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIG1hdGNoaW5nTm9kZXMucHVzaChjdXJyZW50Tm9kZSlcbiAgICB9XG4gICAgY3VycmVudE9mZnNldCArPSBjdXJyZW50Tm9kZUxlbmd0aFxuICAgIGN1cnJlbnROb2Rlcy5zaGlmdCgpXG4gIH1cbiAgcmV0dXJuIFttYXRjaGluZ09mZnNldCwgdW5tb2RpZmllZEJlZm9yZU5vZGVzLCBtYXRjaGluZ05vZGVzLCB1bm1vZGlmaWVkQWZ0ZXJOb2Rlc11cbn1cblxuZnVuY3Rpb24gY3JlYXRlQXV0b0xpbmtOb2RlKFxuICBub2RlczogVGV4dE5vZGVbXSxcbiAgc3RhcnRJbmRleDogbnVtYmVyLFxuICBlbmRJbmRleDogbnVtYmVyLFxuICBtYXRjaDogTGlua01hdGNoZXJSZXN1bHQsXG4pOiBUZXh0Tm9kZSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGZpZWxkczogTGlua0ZpZWxkcyA9IHtcbiAgICBsaW5rVHlwZTogJ2N1c3RvbScsXG4gICAgdXJsOiBtYXRjaC51cmwsXG4gICAgLi4ubWF0Y2guZmllbGRzLFxuICB9XG5cbiAgY29uc3QgbGlua05vZGUgPSAkY3JlYXRlQXV0b0xpbmtOb2RlKHsgZmllbGRzIH0pXG4gIGlmIChub2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICBsZXQgcmVtYWluaW5nVGV4dE5vZGUgPSBub2Rlc1swXVxuICAgIGxldCBsaW5rVGV4dE5vZGVcbiAgICBpZiAoc3RhcnRJbmRleCA9PT0gMCkge1xuICAgICAgO1tsaW5rVGV4dE5vZGUsIHJlbWFpbmluZ1RleHROb2RlXSA9IHJlbWFpbmluZ1RleHROb2RlLnNwbGl0VGV4dChlbmRJbmRleClcbiAgICB9IGVsc2Uge1xuICAgICAgO1ssIGxpbmtUZXh0Tm9kZSwgcmVtYWluaW5nVGV4dE5vZGVdID0gcmVtYWluaW5nVGV4dE5vZGUuc3BsaXRUZXh0KHN0YXJ0SW5kZXgsIGVuZEluZGV4KVxuICAgIH1cbiAgICBjb25zdCB0ZXh0Tm9kZSA9ICRjcmVhdGVUZXh0Tm9kZShtYXRjaC50ZXh0KVxuICAgIHRleHROb2RlLnNldEZvcm1hdChsaW5rVGV4dE5vZGUuZ2V0Rm9ybWF0KCkpXG4gICAgdGV4dE5vZGUuc2V0RGV0YWlsKGxpbmtUZXh0Tm9kZS5nZXREZXRhaWwoKSlcbiAgICBsaW5rTm9kZS5hcHBlbmQodGV4dE5vZGUpXG4gICAgbGlua1RleHROb2RlLnJlcGxhY2UobGlua05vZGUpXG4gICAgcmV0dXJuIHJlbWFpbmluZ1RleHROb2RlXG4gIH0gZWxzZSBpZiAobm9kZXMubGVuZ3RoID4gMSkge1xuICAgIGNvbnN0IGZpcnN0VGV4dE5vZGUgPSBub2Rlc1swXVxuICAgIGxldCBvZmZzZXQgPSBmaXJzdFRleHROb2RlLmdldFRleHRDb250ZW50KCkubGVuZ3RoXG4gICAgbGV0IGZpcnN0TGlua1RleHROb2RlXG4gICAgaWYgKHN0YXJ0SW5kZXggPT09IDApIHtcbiAgICAgIGZpcnN0TGlua1RleHROb2RlID0gZmlyc3RUZXh0Tm9kZVxuICAgIH0gZWxzZSB7XG4gICAgICA7WywgZmlyc3RMaW5rVGV4dE5vZGVdID0gZmlyc3RUZXh0Tm9kZS5zcGxpdFRleHQoc3RhcnRJbmRleClcbiAgICB9XG4gICAgY29uc3QgbGlua05vZGVzID0gW11cbiAgICBsZXQgcmVtYWluaW5nVGV4dE5vZGVcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IG5vZGVzW2ldXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZVRleHQgPSBjdXJyZW50Tm9kZS5nZXRUZXh0Q29udGVudCgpXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZUxlbmd0aCA9IGN1cnJlbnROb2RlVGV4dC5sZW5ndGhcbiAgICAgIGNvbnN0IGN1cnJlbnROb2RlU3RhcnQgPSBvZmZzZXRcbiAgICAgIGNvbnN0IGN1cnJlbnROb2RlRW5kID0gb2Zmc2V0ICsgY3VycmVudE5vZGVMZW5ndGhcbiAgICAgIGlmIChjdXJyZW50Tm9kZVN0YXJ0IDwgZW5kSW5kZXgpIHtcbiAgICAgICAgaWYgKGN1cnJlbnROb2RlRW5kIDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgbGlua05vZGVzLnB1c2goY3VycmVudE5vZGUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgW2xpbmtUZXh0Tm9kZSwgZW5kTm9kZV0gPSBjdXJyZW50Tm9kZS5zcGxpdFRleHQoZW5kSW5kZXggLSBjdXJyZW50Tm9kZVN0YXJ0KVxuICAgICAgICAgIGxpbmtOb2Rlcy5wdXNoKGxpbmtUZXh0Tm9kZSlcbiAgICAgICAgICByZW1haW5pbmdUZXh0Tm9kZSA9IGVuZE5vZGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb2Zmc2V0ICs9IGN1cnJlbnROb2RlTGVuZ3RoXG4gICAgfVxuICAgIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuICAgIGNvbnN0IHNlbGVjdGVkVGV4dE5vZGUgPSBzZWxlY3Rpb24gPyBzZWxlY3Rpb24uZ2V0Tm9kZXMoKS5maW5kKCRpc1RleHROb2RlKSA6IHVuZGVmaW5lZFxuICAgIGNvbnN0IHRleHROb2RlID0gJGNyZWF0ZVRleHROb2RlKGZpcnN0TGlua1RleHROb2RlLmdldFRleHRDb250ZW50KCkpXG4gICAgdGV4dE5vZGUuc2V0Rm9ybWF0KGZpcnN0TGlua1RleHROb2RlLmdldEZvcm1hdCgpKVxuICAgIHRleHROb2RlLnNldERldGFpbChmaXJzdExpbmtUZXh0Tm9kZS5nZXREZXRhaWwoKSlcbiAgICBsaW5rTm9kZS5hcHBlbmQodGV4dE5vZGUsIC4uLmxpbmtOb2RlcylcbiAgICAvLyBpdCBkb2VzIG5vdCBwcmVzZXJ2ZSBjYXJldCBwb3NpdGlvbiBpZiBjYXJldCB3YXMgYXQgdGhlIGZpcnN0IHRleHQgbm9kZVxuICAgIC8vIHNvIHdlIG5lZWQgdG8gcmVzdG9yZSBjYXJldCBwb3NpdGlvblxuICAgIGlmIChzZWxlY3RlZFRleHROb2RlICYmIHNlbGVjdGVkVGV4dE5vZGUgPT09IGZpcnN0TGlua1RleHROb2RlKSB7XG4gICAgICBpZiAoJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICB0ZXh0Tm9kZS5zZWxlY3Qoc2VsZWN0aW9uLmFuY2hvci5vZmZzZXQsIHNlbGVjdGlvbi5mb2N1cy5vZmZzZXQpXG4gICAgICB9IGVsc2UgaWYgKCRpc05vZGVTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICB0ZXh0Tm9kZS5zZWxlY3QoMCwgdGV4dE5vZGUuZ2V0VGV4dENvbnRlbnQoKS5sZW5ndGgpXG4gICAgICB9XG4gICAgfVxuICAgIGZpcnN0TGlua1RleHROb2RlLnJlcGxhY2UobGlua05vZGUpXG4gICAgcmV0dXJuIHJlbWFpbmluZ1RleHROb2RlXG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBoYW5kbGVMaW5rQ3JlYXRpb24oXG4gIG5vZGVzOiBUZXh0Tm9kZVtdLFxuICBtYXRjaGVyczogTGlua01hdGNoZXJbXSxcbiAgb25DaGFuZ2U6IENoYW5nZUhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgbGV0IGN1cnJlbnROb2RlcyA9IFsuLi5ub2Rlc11cbiAgY29uc3QgaW5pdGlhbFRleHQgPSBjdXJyZW50Tm9kZXMubWFwKChub2RlKSA9PiBub2RlLmdldFRleHRDb250ZW50KCkpLmpvaW4oJycpXG4gIGxldCB0ZXh0ID0gaW5pdGlhbFRleHRcblxuICBsZXQgbWF0Y2hcbiAgbGV0IGludmFsaWRNYXRjaEVuZCA9IDBcblxuICB3aGlsZSAoKG1hdGNoID0gZmluZEZpcnN0TWF0Y2godGV4dCwgbWF0Y2hlcnMpKSAhPSBudWxsICYmIG1hdGNoICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWF0Y2hTdGFydDogbnVtYmVyID0gbWF0Y2guaW5kZXhcbiAgICBjb25zdCBtYXRjaExlbmd0aDogbnVtYmVyID0gbWF0Y2gubGVuZ3RoXG4gICAgY29uc3QgbWF0Y2hFbmQgPSBtYXRjaFN0YXJ0ICsgbWF0Y2hMZW5ndGhcbiAgICBjb25zdCBpc1ZhbGlkID0gaXNDb250ZW50QXJvdW5kSXNWYWxpZChcbiAgICAgIGludmFsaWRNYXRjaEVuZCArIG1hdGNoU3RhcnQsXG4gICAgICBpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaEVuZCxcbiAgICAgIGluaXRpYWxUZXh0LFxuICAgICAgY3VycmVudE5vZGVzLFxuICAgIClcblxuICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICBjb25zdCBbbWF0Y2hpbmdPZmZzZXQsICwgbWF0Y2hpbmdOb2RlcywgdW5tb2RpZmllZEFmdGVyTm9kZXNdID0gZXh0cmFjdE1hdGNoaW5nTm9kZXMoXG4gICAgICAgIGN1cnJlbnROb2RlcyxcbiAgICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hTdGFydCxcbiAgICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hFbmQsXG4gICAgICApXG5cbiAgICAgIGNvbnN0IGFjdHVhbE1hdGNoU3RhcnQgPSBpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaFN0YXJ0IC0gbWF0Y2hpbmdPZmZzZXRcbiAgICAgIGNvbnN0IGFjdHVhbE1hdGNoRW5kID0gaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hFbmQgLSBtYXRjaGluZ09mZnNldFxuICAgICAgY29uc3QgcmVtYWluaW5nVGV4dE5vZGUgPSBjcmVhdGVBdXRvTGlua05vZGUoXG4gICAgICAgIG1hdGNoaW5nTm9kZXMsXG4gICAgICAgIGFjdHVhbE1hdGNoU3RhcnQsXG4gICAgICAgIGFjdHVhbE1hdGNoRW5kLFxuICAgICAgICBtYXRjaCxcbiAgICAgIClcbiAgICAgIGN1cnJlbnROb2RlcyA9IHJlbWFpbmluZ1RleHROb2RlXG4gICAgICAgID8gW3JlbWFpbmluZ1RleHROb2RlLCAuLi51bm1vZGlmaWVkQWZ0ZXJOb2Rlc11cbiAgICAgICAgOiB1bm1vZGlmaWVkQWZ0ZXJOb2Rlc1xuICAgICAgb25DaGFuZ2UobWF0Y2gudXJsLCBudWxsKVxuICAgICAgaW52YWxpZE1hdGNoRW5kID0gMFxuICAgIH0gZWxzZSB7XG4gICAgICBpbnZhbGlkTWF0Y2hFbmQgKz0gbWF0Y2hFbmRcbiAgICB9XG5cbiAgICB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcobWF0Y2hFbmQpXG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlTGlua0VkaXQoXG4gIGxpbmtOb2RlOiBBdXRvTGlua05vZGUsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZTogQ2hhbmdlSGFuZGxlcixcbik6IHZvaWQge1xuICAvLyBDaGVjayBjaGlsZHJlbiBhcmUgc2ltcGxlIHRleHRcbiAgY29uc3QgY2hpbGRyZW4gPSBsaW5rTm9kZS5nZXRDaGlsZHJlbigpXG4gIGNvbnN0IGNoaWxkcmVuTGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW5MZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoaWxkID0gY2hpbGRyZW5baV1cbiAgICBpZiAoISRpc1RleHROb2RlKGNoaWxkKSB8fCAhY2hpbGQuaXNTaW1wbGVUZXh0KCkpIHtcbiAgICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obGlua05vZGUpXG4gICAgICBvbkNoYW5nZShudWxsLCBsaW5rTm9kZS5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayB0ZXh0IGNvbnRlbnQgZnVsbHkgbWF0Y2hlc1xuICBjb25zdCB0ZXh0ID0gbGlua05vZGUuZ2V0VGV4dENvbnRlbnQoKVxuICBjb25zdCBtYXRjaCA9IGZpbmRGaXJzdE1hdGNoKHRleHQsIG1hdGNoZXJzKVxuICBpZiAobWF0Y2ggPT09IG51bGwgfHwgbWF0Y2gudGV4dCAhPT0gdGV4dCkge1xuICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obGlua05vZGUpXG4gICAgb25DaGFuZ2UobnVsbCwgbGlua05vZGUuZ2V0RmllbGRzKCk/LnVybCA/PyBudWxsKVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gQ2hlY2sgbmVpZ2hib3JzXG4gIGlmICghaXNQcmV2aW91c05vZGVWYWxpZChsaW5rTm9kZSkgfHwgIWlzTmV4dE5vZGVWYWxpZChsaW5rTm9kZSkpIHtcbiAgICByZXBsYWNlV2l0aENoaWxkcmVuKGxpbmtOb2RlKVxuICAgIG9uQ2hhbmdlKG51bGwsIGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmwgPz8gbnVsbClcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHVybCA9IGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmxcbiAgaWYgKHVybCAhPT0gbWF0Y2g/LnVybCkge1xuICAgIGNvbnN0IGZsZHMgPSBsaW5rTm9kZS5nZXRGaWVsZHMoKVxuICAgIGZsZHMudXJsID0gbWF0Y2g/LnVybFxuICAgIGxpbmtOb2RlLnNldEZpZWxkcyhmbGRzKVxuICAgIG9uQ2hhbmdlKG1hdGNoLnVybCwgdXJsID8/IG51bGwpXG4gIH1cbn1cblxuLy8gQmFkIG5laWdoYm9ycyBhcmUgZWRpdHMgaW4gbmVpZ2hib3Igbm9kZXMgdGhhdCBtYWtlIEF1dG9MaW5rcyBpbmNvbXBhdGlibGUuXG4vLyBHaXZlbiB0aGUgY3JlYXRpb24gcHJlY29uZGl0aW9ucywgdGhlc2UgY2FuIG9ubHkgYmUgc2ltcGxlIHRleHQgbm9kZXMuXG5mdW5jdGlvbiBoYW5kbGVCYWROZWlnaGJvcnMoXG4gIHRleHROb2RlOiBUZXh0Tm9kZSxcbiAgbWF0Y2hlcnM6IExpbmtNYXRjaGVyW10sXG4gIG9uQ2hhbmdlOiBDaGFuZ2VIYW5kbGVyLFxuKTogdm9pZCB7XG4gIGNvbnN0IHByZXZpb3VzU2libGluZyA9IHRleHROb2RlLmdldFByZXZpb3VzU2libGluZygpXG4gIGNvbnN0IG5leHRTaWJsaW5nID0gdGV4dE5vZGUuZ2V0TmV4dFNpYmxpbmcoKVxuICBjb25zdCB0ZXh0ID0gdGV4dE5vZGUuZ2V0VGV4dENvbnRlbnQoKVxuXG4gIGlmICgkaXNBdXRvTGlua05vZGUocHJldmlvdXNTaWJsaW5nKSAmJiAhc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0KSkge1xuICAgIHByZXZpb3VzU2libGluZy5hcHBlbmQodGV4dE5vZGUpXG4gICAgaGFuZGxlTGlua0VkaXQocHJldmlvdXNTaWJsaW5nLCBtYXRjaGVycywgb25DaGFuZ2UpXG4gICAgb25DaGFuZ2UobnVsbCwgcHJldmlvdXNTaWJsaW5nLmdldEZpZWxkcygpPy51cmwgPz8gbnVsbClcbiAgfVxuXG4gIGlmICgkaXNBdXRvTGlua05vZGUobmV4dFNpYmxpbmcpICYmICFlbmRzV2l0aFNlcGFyYXRvcih0ZXh0KSkge1xuICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obmV4dFNpYmxpbmcpXG4gICAgaGFuZGxlTGlua0VkaXQobmV4dFNpYmxpbmcsIG1hdGNoZXJzLCBvbkNoYW5nZSlcbiAgICBvbkNoYW5nZShudWxsLCBuZXh0U2libGluZy5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGFjZVdpdGhDaGlsZHJlbihub2RlOiBFbGVtZW50Tm9kZSk6IExleGljYWxOb2RlW10ge1xuICBjb25zdCBjaGlsZHJlbiA9IG5vZGUuZ2V0Q2hpbGRyZW4oKVxuICBjb25zdCBjaGlsZHJlbkxlbmd0aCA9IGNoaWxkcmVuLmxlbmd0aFxuXG4gIGZvciAobGV0IGogPSBjaGlsZHJlbkxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XG4gICAgbm9kZS5pbnNlcnRBZnRlcihjaGlsZHJlbltqXSlcbiAgfVxuXG4gIG5vZGUucmVtb3ZlKClcbiAgcmV0dXJuIGNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IGNoaWxkLmdldExhdGVzdCgpKVxufVxuXG5mdW5jdGlvbiBnZXRUZXh0Tm9kZXNUb01hdGNoKHRleHROb2RlOiBUZXh0Tm9kZSk6IFRleHROb2RlW10ge1xuICAvLyBjaGVjayBpZiBuZXh0IHNpYmxpbmdzIGFyZSBzaW1wbGUgdGV4dCBub2RlcyB0aWxsIGEgbm9kZSBjb250YWlucyBhIHNwYWNlIHNlcGFyYXRvclxuICBjb25zdCB0ZXh0Tm9kZXNUb01hdGNoID0gW3RleHROb2RlXVxuICBsZXQgbmV4dFNpYmxpbmcgPSB0ZXh0Tm9kZS5nZXROZXh0U2libGluZygpXG4gIHdoaWxlIChuZXh0U2libGluZyAhPT0gbnVsbCAmJiAkaXNUZXh0Tm9kZShuZXh0U2libGluZykgJiYgbmV4dFNpYmxpbmcuaXNTaW1wbGVUZXh0KCkpIHtcbiAgICB0ZXh0Tm9kZXNUb01hdGNoLnB1c2gobmV4dFNpYmxpbmcpXG4gICAgaWYgKC9cXHMvLnRlc3QobmV4dFNpYmxpbmcuZ2V0VGV4dENvbnRlbnQoKSkpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIG5leHRTaWJsaW5nID0gbmV4dFNpYmxpbmcuZ2V0TmV4dFNpYmxpbmcoKVxuICB9XG4gIHJldHVybiB0ZXh0Tm9kZXNUb01hdGNoXG59XG5cbmZ1bmN0aW9uIHVzZUF1dG9MaW5rKFxuICBlZGl0b3I6IExleGljYWxFZGl0b3IsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZT86IENoYW5nZUhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVkaXRvci5oYXNOb2RlcyhbQXV0b0xpbmtOb2RlXSkpIHtcbiAgICAgIGludmFyaWFudChmYWxzZSwgJ0xleGljYWxBdXRvTGlua1BsdWdpbjogQXV0b0xpbmtOb2RlIG5vdCByZWdpc3RlcmVkIG9uIGVkaXRvcicpXG4gICAgfVxuXG4gICAgY29uc3Qgb25DaGFuZ2VXcmFwcGVkID0gKHVybDogbnVsbCB8IHN0cmluZywgcHJldlVybDogbnVsbCB8IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgaWYgKG9uQ2hhbmdlICE9IG51bGwpIHtcbiAgICAgICAgb25DaGFuZ2UodXJsLCBwcmV2VXJsKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyTm9kZVRyYW5zZm9ybShUZXh0Tm9kZSwgKHRleHROb2RlOiBUZXh0Tm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSB0ZXh0Tm9kZS5nZXRQYXJlbnRPclRocm93KClcbiAgICAgICAgY29uc3QgcHJldmlvdXMgPSB0ZXh0Tm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKVxuICAgICAgICBpZiAoJGlzQXV0b0xpbmtOb2RlKHBhcmVudCkpIHtcbiAgICAgICAgICBoYW5kbGVMaW5rRWRpdChwYXJlbnQsIG1hdGNoZXJzLCBvbkNoYW5nZVdyYXBwZWQpXG4gICAgICAgIH0gZWxzZSBpZiAoISRpc0xpbmtOb2RlKHBhcmVudCkpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0ZXh0Tm9kZS5pc1NpbXBsZVRleHQoKSAmJlxuICAgICAgICAgICAgKHN0YXJ0c1dpdGhTZXBhcmF0b3IodGV4dE5vZGUuZ2V0VGV4dENvbnRlbnQoKSkgfHwgISRpc0F1dG9MaW5rTm9kZShwcmV2aW91cykpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0Tm9kZXNUb01hdGNoID0gZ2V0VGV4dE5vZGVzVG9NYXRjaCh0ZXh0Tm9kZSlcbiAgICAgICAgICAgIGhhbmRsZUxpbmtDcmVhdGlvbih0ZXh0Tm9kZXNUb01hdGNoLCBtYXRjaGVycywgb25DaGFuZ2VXcmFwcGVkKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGhhbmRsZUJhZE5laWdoYm9ycyh0ZXh0Tm9kZSwgbWF0Y2hlcnMsIG9uQ2hhbmdlV3JhcHBlZClcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuICB9LCBbZWRpdG9yLCBtYXRjaGVycywgb25DaGFuZ2VdKVxufVxuXG5jb25zdCBVUkxfUkVHRVggPVxuICAvKChodHRwcz86XFwvXFwvKHd3d1xcLik/KXwod3d3XFwuKSlbLVxcd0A6JS4rfiM9XXsxLDI1Nn1cXC5bYS16QS1aXFxkKCldezEsNn1cXGIoWy1cXHcoKUA6JSsufiM/Ji89XSopL1xuXG5jb25zdCBFTUFJTF9SRUdFWCA9XG4gIC8oKFtePD4oKVtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVtcXF1cXFxcLiw7Olxcc0BcIl0rKSopfChcIi4rXCIpKUAoKFxcW1xcZHsxLDN9XFwuXFxkezEsM31cXC5cXGR7MSwzfVxcLlxcZHsxLDN9XFxdKXwoKFthLXpBLVpcXC1cXGRdK1xcLikrW2EtekEtWl17Mix9KSkvXG5cbmNvbnN0IE1BVENIRVJTID0gW1xuICBjcmVhdGVMaW5rTWF0Y2hlcldpdGhSZWdFeHAoVVJMX1JFR0VYLCAodGV4dCkgPT4ge1xuICAgIHJldHVybiB0ZXh0LnN0YXJ0c1dpdGgoJ2h0dHAnKSA/IHRleHQgOiBgaHR0cHM6Ly8ke3RleHR9YFxuICB9KSxcbiAgY3JlYXRlTGlua01hdGNoZXJXaXRoUmVnRXhwKEVNQUlMX1JFR0VYLCAodGV4dCkgPT4ge1xuICAgIHJldHVybiBgbWFpbHRvOiR7dGV4dH1gXG4gIH0pLFxuXVxuXG5leHBvcnQgZnVuY3Rpb24gQXV0b0xpbmtQbHVnaW4oKTogSlNYLkVsZW1lbnQgfCBudWxsIHtcbiAgY29uc3QgW2VkaXRvcl0gPSB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0KClcblxuICB1c2VBdXRvTGluayhlZGl0b3IsIE1BVENIRVJTKVxuXG4gIHJldHVybiBudWxsXG59XG4iXSwibmFtZXMiOlsidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsIm1lcmdlUmVnaXN0ZXIiLCIkY3JlYXRlVGV4dE5vZGUiLCIkZ2V0U2VsZWN0aW9uIiwiJGlzRWxlbWVudE5vZGUiLCIkaXNMaW5lQnJlYWtOb2RlIiwiJGlzTm9kZVNlbGVjdGlvbiIsIiRpc1JhbmdlU2VsZWN0aW9uIiwiJGlzVGV4dE5vZGUiLCJUZXh0Tm9kZSIsInVzZUVmZmVjdCIsImludmFyaWFudCIsIiRjcmVhdGVBdXRvTGlua05vZGUiLCIkaXNBdXRvTGlua05vZGUiLCJBdXRvTGlua05vZGUiLCIkaXNMaW5rTm9kZSIsImNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cCIsInJlZ0V4cCIsInVybFRyYW5zZm9ybWVyIiwidGV4dCIsIm1hdGNoIiwiZXhlYyIsImluZGV4IiwibGVuZ3RoIiwidXJsIiwiZmluZEZpcnN0TWF0Y2giLCJtYXRjaGVycyIsImkiLCJQVU5DVFVBVElPTl9PUl9TUEFDRSIsImlzU2VwYXJhdG9yIiwiY2hhciIsInRlc3QiLCJlbmRzV2l0aFNlcGFyYXRvciIsInRleHRDb250ZW50Iiwic3RhcnRzV2l0aFNlcGFyYXRvciIsImlzUHJldmlvdXNOb2RlVmFsaWQiLCJub2RlIiwicHJldmlvdXNOb2RlIiwiZ2V0UHJldmlvdXNTaWJsaW5nIiwiZ2V0TGFzdERlc2NlbmRhbnQiLCJnZXRUZXh0Q29udGVudCIsImlzTmV4dE5vZGVWYWxpZCIsIm5leHROb2RlIiwiZ2V0TmV4dFNpYmxpbmciLCJnZXRGaXJzdERlc2NlbmRhbnQiLCJpc0NvbnRlbnRBcm91bmRJc1ZhbGlkIiwibWF0Y2hTdGFydCIsIm1hdGNoRW5kIiwibm9kZXMiLCJjb250ZW50QmVmb3JlSXNWYWxpZCIsImNvbnRlbnRBZnRlcklzVmFsaWQiLCJleHRyYWN0TWF0Y2hpbmdOb2RlcyIsInN0YXJ0SW5kZXgiLCJlbmRJbmRleCIsInVubW9kaWZpZWRCZWZvcmVOb2RlcyIsIm1hdGNoaW5nTm9kZXMiLCJ1bm1vZGlmaWVkQWZ0ZXJOb2RlcyIsIm1hdGNoaW5nT2Zmc2V0IiwiY3VycmVudE9mZnNldCIsImN1cnJlbnROb2RlcyIsImN1cnJlbnROb2RlIiwiY3VycmVudE5vZGVUZXh0IiwiY3VycmVudE5vZGVMZW5ndGgiLCJjdXJyZW50Tm9kZVN0YXJ0IiwiY3VycmVudE5vZGVFbmQiLCJwdXNoIiwic2hpZnQiLCJjcmVhdGVBdXRvTGlua05vZGUiLCJmaWVsZHMiLCJsaW5rVHlwZSIsImxpbmtOb2RlIiwicmVtYWluaW5nVGV4dE5vZGUiLCJsaW5rVGV4dE5vZGUiLCJzcGxpdFRleHQiLCJ0ZXh0Tm9kZSIsInNldEZvcm1hdCIsImdldEZvcm1hdCIsInNldERldGFpbCIsImdldERldGFpbCIsImFwcGVuZCIsInJlcGxhY2UiLCJmaXJzdFRleHROb2RlIiwib2Zmc2V0IiwiZmlyc3RMaW5rVGV4dE5vZGUiLCJsaW5rTm9kZXMiLCJlbmROb2RlIiwic2VsZWN0aW9uIiwic2VsZWN0ZWRUZXh0Tm9kZSIsImdldE5vZGVzIiwiZmluZCIsInVuZGVmaW5lZCIsInNlbGVjdCIsImFuY2hvciIsImZvY3VzIiwiaGFuZGxlTGlua0NyZWF0aW9uIiwib25DaGFuZ2UiLCJpbml0aWFsVGV4dCIsIm1hcCIsImpvaW4iLCJpbnZhbGlkTWF0Y2hFbmQiLCJtYXRjaExlbmd0aCIsImlzVmFsaWQiLCJhY3R1YWxNYXRjaFN0YXJ0IiwiYWN0dWFsTWF0Y2hFbmQiLCJzdWJzdHJpbmciLCJoYW5kbGVMaW5rRWRpdCIsImNoaWxkcmVuIiwiZ2V0Q2hpbGRyZW4iLCJjaGlsZHJlbkxlbmd0aCIsImNoaWxkIiwiaXNTaW1wbGVUZXh0IiwicmVwbGFjZVdpdGhDaGlsZHJlbiIsImdldEZpZWxkcyIsImZsZHMiLCJzZXRGaWVsZHMiLCJoYW5kbGVCYWROZWlnaGJvcnMiLCJwcmV2aW91c1NpYmxpbmciLCJuZXh0U2libGluZyIsImoiLCJpbnNlcnRBZnRlciIsInJlbW92ZSIsImdldExhdGVzdCIsImdldFRleHROb2Rlc1RvTWF0Y2giLCJ0ZXh0Tm9kZXNUb01hdGNoIiwidXNlQXV0b0xpbmsiLCJlZGl0b3IiLCJoYXNOb2RlcyIsIm9uQ2hhbmdlV3JhcHBlZCIsInByZXZVcmwiLCJyZWdpc3Rlck5vZGVUcmFuc2Zvcm0iLCJwYXJlbnQiLCJnZXRQYXJlbnRPclRocm93IiwicHJldmlvdXMiLCJVUkxfUkVHRVgiLCJFTUFJTF9SRUdFWCIsIk1BVENIRVJTIiwic3RhcnRzV2l0aCIsIkF1dG9MaW5rUGx1Z2luIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUdBLFNBQVNBLHlCQUF5QixRQUFRLDJDQUEwQztBQUNwRixTQUFTQyxhQUFhLFFBQVEsaUJBQWdCO0FBQzlDLFNBQ0VDLGVBQWUsRUFDZkMsYUFBYSxFQUNiQyxjQUFjLEVBQ2RDLGdCQUFnQixFQUNoQkMsZ0JBQWdCLEVBQ2hCQyxpQkFBaUIsRUFDakJDLFdBQVcsRUFDWEMsUUFBUSxRQUNILFVBQVM7QUFDaEIsU0FBU0MsU0FBUyxRQUFRLFFBQU87QUFJakMsU0FBU0MsU0FBUyxRQUFRLHlDQUF3QztBQUNsRSxTQUFTQyxtQkFBbUIsRUFBRUMsZUFBZSxFQUFFQyxZQUFZLFFBQVEsOEJBQTZCO0FBQ2hHLFNBQVNDLFdBQVcsUUFBUSwwQkFBeUI7QUFjckQsT0FBTyxTQUFTQyw0QkFDZEMsTUFBYyxFQUNkQyxpQkFBMkMsQ0FBQ0MsT0FBU0EsSUFBSTtJQUV6RCxPQUFPLENBQUNBO1FBQ04sTUFBTUMsUUFBUUgsT0FBT0ksSUFBSSxDQUFDRjtRQUMx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
321
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvYXV0b0xpbmsvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IGxleGljYWxDb21wb3NlckNvbnRleHRJbXBvcnQgZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dC5qcydcbmNvbnN0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9ID0gbGV4aWNhbENvbXBvc2VyQ29udGV4dEltcG9ydFxuXG5pbXBvcnQgbGV4aWNhbFV0aWxzSW1wb3J0IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuY29uc3QgeyBtZXJnZVJlZ2lzdGVyIH0gPSBsZXhpY2FsVXRpbHNJbXBvcnRcblxuaW1wb3J0IGxleGljYWxJbXBvcnQgZnJvbSAnbGV4aWNhbCdcbmNvbnN0IHtcbiAgJGNyZWF0ZVRleHROb2RlLFxuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNFbGVtZW50Tm9kZSxcbiAgJGlzTGluZUJyZWFrTm9kZSxcbiAgJGlzTm9kZVNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gICRpc1RleHROb2RlLFxuICBUZXh0Tm9kZTogVGV4dE5vZGVWYWx1ZSxcbn0gPSBsZXhpY2FsSW1wb3J0XG5cbmltcG9ydCB0eXBlIHsgRWxlbWVudE5vZGUsIExleGljYWxFZGl0b3IsIExleGljYWxOb2RlIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgdHlwZSBUZXh0Tm9kZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBMaW5rRmllbGRzIH0gZnJvbSAnLi4vLi4vbm9kZXMvdHlwZXMuanMnXG5cbmltcG9ydCB7IGludmFyaWFudCB9IGZyb20gJy4uLy4uLy4uLy4uL2xleGljYWwvdXRpbHMvaW52YXJpYW50LmpzJ1xuaW1wb3J0IHsgJGNyZWF0ZUF1dG9MaW5rTm9kZSwgJGlzQXV0b0xpbmtOb2RlLCBBdXRvTGlua05vZGUgfSBmcm9tICcuLi8uLi9ub2Rlcy9BdXRvTGlua05vZGUuanMnXG5pbXBvcnQgeyAkaXNMaW5rTm9kZSB9IGZyb20gJy4uLy4uL25vZGVzL0xpbmtOb2RlLmpzJ1xuXG50eXBlIENoYW5nZUhhbmRsZXIgPSAodXJsOiBudWxsIHwgc3RyaW5nLCBwcmV2VXJsOiBudWxsIHwgc3RyaW5nKSA9PiB2b2lkXG5cbmludGVyZmFjZSBMaW5rTWF0Y2hlclJlc3VsdCB7XG4gIGZpZWxkcz86IExpbmtGaWVsZHNcbiAgaW5kZXg6IG51bWJlclxuICBsZW5ndGg6IG51bWJlclxuICB0ZXh0OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTGlua01hdGNoZXIgPSAodGV4dDogc3RyaW5nKSA9PiBMaW5rTWF0Y2hlclJlc3VsdCB8IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cChcbiAgcmVnRXhwOiBSZWdFeHAsXG4gIHVybFRyYW5zZm9ybWVyOiAodGV4dDogc3RyaW5nKSA9PiBzdHJpbmcgPSAodGV4dCkgPT4gdGV4dCxcbikge1xuICByZXR1cm4gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1hdGNoID0gcmVnRXhwLmV4ZWModGV4dClcbiAgICBpZiAobWF0Y2ggPT09IG51bGwpIHJldHVybiBudWxsXG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiBtYXRjaC5pbmRleCxcbiAgICAgIGxlbmd0aDogbWF0Y2hbMF0ubGVuZ3RoLFxuICAgICAgdGV4dDogbWF0Y2hbMF0sXG4gICAgICB1cmw6IHVybFRyYW5zZm9ybWVyKG1hdGNoWzBdKSxcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEZpcnN0TWF0Y2godGV4dDogc3RyaW5nLCBtYXRjaGVyczogTGlua01hdGNoZXJbXSk6IExpbmtNYXRjaGVyUmVzdWx0IHwgbnVsbCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWF0Y2hlcnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBtYXRjaCA9IG1hdGNoZXJzW2ldKHRleHQpXG5cbiAgICBpZiAobWF0Y2ggIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1hdGNoXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuY29uc3QgUFVOQ1RVQVRJT05fT1JfU1BBQ0UgPSAvWy4sO1xcc10vXG5cbmZ1bmN0aW9uIGlzU2VwYXJhdG9yKGNoYXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gUFVOQ1RVQVRJT05fT1JfU1BBQ0UudGVzdChjaGFyKVxufVxuXG5mdW5jdGlvbiBlbmRzV2l0aFNlcGFyYXRvcih0ZXh0Q29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1NlcGFyYXRvcih0ZXh0Q29udGVudFt0ZXh0Q29udGVudC5sZW5ndGggLSAxXSlcbn1cblxuZnVuY3Rpb24gc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0Q29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1NlcGFyYXRvcih0ZXh0Q29udGVudFswXSlcbn1cblxuZnVuY3Rpb24gaXNQcmV2aW91c05vZGVWYWxpZChub2RlOiBMZXhpY2FsTm9kZSk6IGJvb2xlYW4ge1xuICBsZXQgcHJldmlvdXNOb2RlID0gbm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKVxuICBpZiAoJGlzRWxlbWVudE5vZGUocHJldmlvdXNOb2RlKSkge1xuICAgIHByZXZpb3VzTm9kZSA9IHByZXZpb3VzTm9kZS5nZXRMYXN0RGVzY2VuZGFudCgpXG4gIH1cbiAgcmV0dXJuIChcbiAgICBwcmV2aW91c05vZGUgPT09IG51bGwgfHxcbiAgICAkaXNMaW5lQnJlYWtOb2RlKHByZXZpb3VzTm9kZSkgfHxcbiAgICAoJGlzVGV4dE5vZGUocHJldmlvdXNOb2RlKSAmJiBlbmRzV2l0aFNlcGFyYXRvcihwcmV2aW91c05vZGUuZ2V0VGV4dENvbnRlbnQoKSkpXG4gIClcbn1cblxuZnVuY3Rpb24gaXNOZXh0Tm9kZVZhbGlkKG5vZGU6IExleGljYWxOb2RlKTogYm9vbGVhbiB7XG4gIGxldCBuZXh0Tm9kZSA9IG5vZGUuZ2V0TmV4dFNpYmxpbmcoKVxuICBpZiAoJGlzRWxlbWVudE5vZGUobmV4dE5vZGUpKSB7XG4gICAgbmV4dE5vZGUgPSBuZXh0Tm9kZS5nZXRGaXJzdERlc2NlbmRhbnQoKVxuICB9XG4gIHJldHVybiAoXG4gICAgbmV4dE5vZGUgPT09IG51bGwgfHxcbiAgICAkaXNMaW5lQnJlYWtOb2RlKG5leHROb2RlKSB8fFxuICAgICgkaXNUZXh0Tm9kZShuZXh0Tm9kZSkgJiYgc3RhcnRzV2l0aFNlcGFyYXRvcihuZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpKSlcbiAgKVxufVxuXG5mdW5jdGlvbiBpc0NvbnRlbnRBcm91bmRJc1ZhbGlkKFxuICBtYXRjaFN0YXJ0OiBudW1iZXIsXG4gIG1hdGNoRW5kOiBudW1iZXIsXG4gIHRleHQ6IHN0cmluZyxcbiAgbm9kZXM6IFRleHROb2RlW10sXG4pOiBib29sZWFuIHtcbiAgY29uc3QgY29udGVudEJlZm9yZUlzVmFsaWQgPVxuICAgIG1hdGNoU3RhcnQgPiAwID8gaXNTZXBhcmF0b3IodGV4dFttYXRjaFN0YXJ0IC0gMV0pIDogaXNQcmV2aW91c05vZGVWYWxpZChub2Rlc1swXSlcbiAgaWYgKCFjb250ZW50QmVmb3JlSXNWYWxpZCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY29uc3QgY29udGVudEFmdGVySXNWYWxpZCA9XG4gICAgbWF0Y2hFbmQgPCB0ZXh0Lmxlbmd0aCA/IGlzU2VwYXJhdG9yKHRleHRbbWF0Y2hFbmRdKSA6IGlzTmV4dE5vZGVWYWxpZChub2Rlc1tub2Rlcy5sZW5ndGggLSAxXSlcbiAgcmV0dXJuIGNvbnRlbnRBZnRlcklzVmFsaWRcbn1cblxuZnVuY3Rpb24gZXh0cmFjdE1hdGNoaW5nTm9kZXMoXG4gIG5vZGVzOiBUZXh0Tm9kZVtdLFxuICBzdGFydEluZGV4OiBudW1iZXIsXG4gIGVuZEluZGV4OiBudW1iZXIsXG4pOiBbXG4gIG1hdGNoaW5nT2Zmc2V0OiBudW1iZXIsXG4gIHVubW9kaWZpZWRCZWZvcmVOb2RlczogVGV4dE5vZGVbXSxcbiAgbWF0Y2hpbmdOb2RlczogVGV4dE5vZGVbXSxcbiAgdW5tb2RpZmllZEFmdGVyTm9kZXM6IFRleHROb2RlW10sXG5dIHtcbiAgY29uc3QgdW5tb2RpZmllZEJlZm9yZU5vZGVzOiBUZXh0Tm9kZVtdID0gW11cbiAgY29uc3QgbWF0Y2hpbmdOb2RlczogVGV4dE5vZGVbXSA9IFtdXG4gIGNvbnN0IHVubW9kaWZpZWRBZnRlck5vZGVzOiBUZXh0Tm9kZVtdID0gW11cbiAgbGV0IG1hdGNoaW5nT2Zmc2V0ID0gMFxuXG4gIGxldCBjdXJyZW50T2Zmc2V0ID0gMFxuICBjb25zdCBjdXJyZW50Tm9kZXMgPSBbLi4ubm9kZXNdXG5cbiAgd2hpbGUgKGN1cnJlbnROb2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZXNbMF1cbiAgICBjb25zdCBjdXJyZW50Tm9kZVRleHQgPSBjdXJyZW50Tm9kZS5nZXRUZXh0Q29udGVudCgpXG4gICAgY29uc3QgY3VycmVudE5vZGVMZW5ndGggPSBjdXJyZW50Tm9kZVRleHQubGVuZ3RoXG4gICAgY29uc3QgY3VycmVudE5vZGVTdGFydCA9IGN1cnJlbnRPZmZzZXRcbiAgICBjb25zdCBjdXJyZW50Tm9kZUVuZCA9IGN1cnJlbnRPZmZzZXQgKyBjdXJyZW50Tm9kZUxlbmd0aFxuXG4gICAgaWYgKGN1cnJlbnROb2RlRW5kIDw9IHN0YXJ0SW5kZXgpIHtcbiAgICAgIHVubW9kaWZpZWRCZWZvcmVOb2Rlcy5wdXNoKGN1cnJlbnROb2RlKVxuICAgICAgbWF0Y2hpbmdPZmZzZXQgKz0gY3VycmVudE5vZGVMZW5ndGhcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnROb2RlU3RhcnQgPj0gZW5kSW5kZXgpIHtcbiAgICAgIHVubW9kaWZpZWRBZnRlck5vZGVzLnB1c2goY3VycmVudE5vZGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIG1hdGNoaW5nTm9kZXMucHVzaChjdXJyZW50Tm9kZSlcbiAgICB9XG4gICAgY3VycmVudE9mZnNldCArPSBjdXJyZW50Tm9kZUxlbmd0aFxuICAgIGN1cnJlbnROb2Rlcy5zaGlmdCgpXG4gIH1cbiAgcmV0dXJuIFttYXRjaGluZ09mZnNldCwgdW5tb2RpZmllZEJlZm9yZU5vZGVzLCBtYXRjaGluZ05vZGVzLCB1bm1vZGlmaWVkQWZ0ZXJOb2Rlc11cbn1cblxuZnVuY3Rpb24gY3JlYXRlQXV0b0xpbmtOb2RlKFxuICBub2RlczogVGV4dE5vZGVbXSxcbiAgc3RhcnRJbmRleDogbnVtYmVyLFxuICBlbmRJbmRleDogbnVtYmVyLFxuICBtYXRjaDogTGlua01hdGNoZXJSZXN1bHQsXG4pOiBUZXh0Tm9kZSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGZpZWxkczogTGlua0ZpZWxkcyA9IHtcbiAgICBsaW5rVHlwZTogJ2N1c3RvbScsXG4gICAgdXJsOiBtYXRjaC51cmwsXG4gICAgLi4ubWF0Y2guZmllbGRzLFxuICB9XG5cbiAgY29uc3QgbGlua05vZGUgPSAkY3JlYXRlQXV0b0xpbmtOb2RlKHsgZmllbGRzIH0pXG4gIGlmIChub2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICBsZXQgcmVtYWluaW5nVGV4dE5vZGUgPSBub2Rlc1swXVxuICAgIGxldCBsaW5rVGV4dE5vZGVcbiAgICBpZiAoc3RhcnRJbmRleCA9PT0gMCkge1xuICAgICAgO1tsaW5rVGV4dE5vZGUsIHJlbWFpbmluZ1RleHROb2RlXSA9IHJlbWFpbmluZ1RleHROb2RlLnNwbGl0VGV4dChlbmRJbmRleClcbiAgICB9IGVsc2Uge1xuICAgICAgO1ssIGxpbmtUZXh0Tm9kZSwgcmVtYWluaW5nVGV4dE5vZGVdID0gcmVtYWluaW5nVGV4dE5vZGUuc3BsaXRUZXh0KHN0YXJ0SW5kZXgsIGVuZEluZGV4KVxuICAgIH1cbiAgICBjb25zdCB0ZXh0Tm9kZSA9ICRjcmVhdGVUZXh0Tm9kZShtYXRjaC50ZXh0KVxuICAgIHRleHROb2RlLnNldEZvcm1hdChsaW5rVGV4dE5vZGUuZ2V0Rm9ybWF0KCkpXG4gICAgdGV4dE5vZGUuc2V0RGV0YWlsKGxpbmtUZXh0Tm9kZS5nZXREZXRhaWwoKSlcbiAgICBsaW5rTm9kZS5hcHBlbmQodGV4dE5vZGUpXG4gICAgbGlua1RleHROb2RlLnJlcGxhY2UobGlua05vZGUpXG4gICAgcmV0dXJuIHJlbWFpbmluZ1RleHROb2RlXG4gIH0gZWxzZSBpZiAobm9kZXMubGVuZ3RoID4gMSkge1xuICAgIGNvbnN0IGZpcnN0VGV4dE5vZGUgPSBub2Rlc1swXVxuICAgIGxldCBvZmZzZXQgPSBmaXJzdFRleHROb2RlLmdldFRleHRDb250ZW50KCkubGVuZ3RoXG4gICAgbGV0IGZpcnN0TGlua1RleHROb2RlXG4gICAgaWYgKHN0YXJ0SW5kZXggPT09IDApIHtcbiAgICAgIGZpcnN0TGlua1RleHROb2RlID0gZmlyc3RUZXh0Tm9kZVxuICAgIH0gZWxzZSB7XG4gICAgICA7WywgZmlyc3RMaW5rVGV4dE5vZGVdID0gZmlyc3RUZXh0Tm9kZS5zcGxpdFRleHQoc3RhcnRJbmRleClcbiAgICB9XG4gICAgY29uc3QgbGlua05vZGVzID0gW11cbiAgICBsZXQgcmVtYWluaW5nVGV4dE5vZGVcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IG5vZGVzW2ldXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZVRleHQgPSBjdXJyZW50Tm9kZS5nZXRUZXh0Q29udGVudCgpXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZUxlbmd0aCA9IGN1cnJlbnROb2RlVGV4dC5sZW5ndGhcbiAgICAgIGNvbnN0IGN1cnJlbnROb2RlU3RhcnQgPSBvZmZzZXRcbiAgICAgIGNvbnN0IGN1cnJlbnROb2RlRW5kID0gb2Zmc2V0ICsgY3VycmVudE5vZGVMZW5ndGhcbiAgICAgIGlmIChjdXJyZW50Tm9kZVN0YXJ0IDwgZW5kSW5kZXgpIHtcbiAgICAgICAgaWYgKGN1cnJlbnROb2RlRW5kIDw9IGVuZEluZGV4KSB7XG4gICAgICAgICAgbGlua05vZGVzLnB1c2goY3VycmVudE5vZGUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgW2xpbmtUZXh0Tm9kZSwgZW5kTm9kZV0gPSBjdXJyZW50Tm9kZS5zcGxpdFRleHQoZW5kSW5kZXggLSBjdXJyZW50Tm9kZVN0YXJ0KVxuICAgICAgICAgIGxpbmtOb2Rlcy5wdXNoKGxpbmtUZXh0Tm9kZSlcbiAgICAgICAgICByZW1haW5pbmdUZXh0Tm9kZSA9IGVuZE5vZGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb2Zmc2V0ICs9IGN1cnJlbnROb2RlTGVuZ3RoXG4gICAgfVxuICAgIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuICAgIGNvbnN0IHNlbGVjdGVkVGV4dE5vZGUgPSBzZWxlY3Rpb24gPyBzZWxlY3Rpb24uZ2V0Tm9kZXMoKS5maW5kKCRpc1RleHROb2RlKSA6IHVuZGVmaW5lZFxuICAgIGNvbnN0IHRleHROb2RlID0gJGNyZWF0ZVRleHROb2RlKGZpcnN0TGlua1RleHROb2RlLmdldFRleHRDb250ZW50KCkpXG4gICAgdGV4dE5vZGUuc2V0Rm9ybWF0KGZpcnN0TGlua1RleHROb2RlLmdldEZvcm1hdCgpKVxuICAgIHRleHROb2RlLnNldERldGFpbChmaXJzdExpbmtUZXh0Tm9kZS5nZXREZXRhaWwoKSlcbiAgICBsaW5rTm9kZS5hcHBlbmQodGV4dE5vZGUsIC4uLmxpbmtOb2RlcylcbiAgICAvLyBpdCBkb2VzIG5vdCBwcmVzZXJ2ZSBjYXJldCBwb3NpdGlvbiBpZiBjYXJldCB3YXMgYXQgdGhlIGZpcnN0IHRleHQgbm9kZVxuICAgIC8vIHNvIHdlIG5lZWQgdG8gcmVzdG9yZSBjYXJldCBwb3NpdGlvblxuICAgIGlmIChzZWxlY3RlZFRleHROb2RlICYmIHNlbGVjdGVkVGV4dE5vZGUgPT09IGZpcnN0TGlua1RleHROb2RlKSB7XG4gICAgICBpZiAoJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICB0ZXh0Tm9kZS5zZWxlY3Qoc2VsZWN0aW9uLmFuY2hvci5vZmZzZXQsIHNlbGVjdGlvbi5mb2N1cy5vZmZzZXQpXG4gICAgICB9IGVsc2UgaWYgKCRpc05vZGVTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICB0ZXh0Tm9kZS5zZWxlY3QoMCwgdGV4dE5vZGUuZ2V0VGV4dENvbnRlbnQoKS5sZW5ndGgpXG4gICAgICB9XG4gICAgfVxuICAgIGZpcnN0TGlua1RleHROb2RlLnJlcGxhY2UobGlua05vZGUpXG4gICAgcmV0dXJuIHJlbWFpbmluZ1RleHROb2RlXG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBoYW5kbGVMaW5rQ3JlYXRpb24oXG4gIG5vZGVzOiBUZXh0Tm9kZVtdLFxuICBtYXRjaGVyczogTGlua01hdGNoZXJbXSxcbiAgb25DaGFuZ2U6IENoYW5nZUhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgbGV0IGN1cnJlbnROb2RlcyA9IFsuLi5ub2Rlc11cbiAgY29uc3QgaW5pdGlhbFRleHQgPSBjdXJyZW50Tm9kZXMubWFwKChub2RlKSA9PiBub2RlLmdldFRleHRDb250ZW50KCkpLmpvaW4oJycpXG4gIGxldCB0ZXh0ID0gaW5pdGlhbFRleHRcblxuICBsZXQgbWF0Y2hcbiAgbGV0IGludmFsaWRNYXRjaEVuZCA9IDBcblxuICB3aGlsZSAoKG1hdGNoID0gZmluZEZpcnN0TWF0Y2godGV4dCwgbWF0Y2hlcnMpKSAhPSBudWxsICYmIG1hdGNoICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWF0Y2hTdGFydDogbnVtYmVyID0gbWF0Y2guaW5kZXhcbiAgICBjb25zdCBtYXRjaExlbmd0aDogbnVtYmVyID0gbWF0Y2gubGVuZ3RoXG4gICAgY29uc3QgbWF0Y2hFbmQgPSBtYXRjaFN0YXJ0ICsgbWF0Y2hMZW5ndGhcbiAgICBjb25zdCBpc1ZhbGlkID0gaXNDb250ZW50QXJvdW5kSXNWYWxpZChcbiAgICAgIGludmFsaWRNYXRjaEVuZCArIG1hdGNoU3RhcnQsXG4gICAgICBpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaEVuZCxcbiAgICAgIGluaXRpYWxUZXh0LFxuICAgICAgY3VycmVudE5vZGVzLFxuICAgIClcblxuICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICBjb25zdCBbbWF0Y2hpbmdPZmZzZXQsICwgbWF0Y2hpbmdOb2RlcywgdW5tb2RpZmllZEFmdGVyTm9kZXNdID0gZXh0cmFjdE1hdGNoaW5nTm9kZXMoXG4gICAgICAgIGN1cnJlbnROb2RlcyxcbiAgICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hTdGFydCxcbiAgICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hFbmQsXG4gICAgICApXG5cbiAgICAgIGNvbnN0IGFjdHVhbE1hdGNoU3RhcnQgPSBpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaFN0YXJ0IC0gbWF0Y2hpbmdPZmZzZXRcbiAgICAgIGNvbnN0IGFjdHVhbE1hdGNoRW5kID0gaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hFbmQgLSBtYXRjaGluZ09mZnNldFxuICAgICAgY29uc3QgcmVtYWluaW5nVGV4dE5vZGUgPSBjcmVhdGVBdXRvTGlua05vZGUoXG4gICAgICAgIG1hdGNoaW5nTm9kZXMsXG4gICAgICAgIGFjdHVhbE1hdGNoU3RhcnQsXG4gICAgICAgIGFjdHVhbE1hdGNoRW5kLFxuICAgICAgICBtYXRjaCxcbiAgICAgIClcbiAgICAgIGN1cnJlbnROb2RlcyA9IHJlbWFpbmluZ1RleHROb2RlXG4gICAgICAgID8gW3JlbWFpbmluZ1RleHROb2RlLCAuLi51bm1vZGlmaWVkQWZ0ZXJOb2Rlc11cbiAgICAgICAgOiB1bm1vZGlmaWVkQWZ0ZXJOb2Rlc1xuICAgICAgb25DaGFuZ2UobWF0Y2gudXJsLCBudWxsKVxuICAgICAgaW52YWxpZE1hdGNoRW5kID0gMFxuICAgIH0gZWxzZSB7XG4gICAgICBpbnZhbGlkTWF0Y2hFbmQgKz0gbWF0Y2hFbmRcbiAgICB9XG5cbiAgICB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcobWF0Y2hFbmQpXG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlTGlua0VkaXQoXG4gIGxpbmtOb2RlOiBBdXRvTGlua05vZGUsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZTogQ2hhbmdlSGFuZGxlcixcbik6IHZvaWQge1xuICAvLyBDaGVjayBjaGlsZHJlbiBhcmUgc2ltcGxlIHRleHRcbiAgY29uc3QgY2hpbGRyZW4gPSBsaW5rTm9kZS5nZXRDaGlsZHJlbigpXG4gIGNvbnN0IGNoaWxkcmVuTGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW5MZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoaWxkID0gY2hpbGRyZW5baV1cbiAgICBpZiAoISRpc1RleHROb2RlKGNoaWxkKSB8fCAhY2hpbGQuaXNTaW1wbGVUZXh0KCkpIHtcbiAgICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obGlua05vZGUpXG4gICAgICBvbkNoYW5nZShudWxsLCBsaW5rTm9kZS5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayB0ZXh0IGNvbnRlbnQgZnVsbHkgbWF0Y2hlc1xuICBjb25zdCB0ZXh0ID0gbGlua05vZGUuZ2V0VGV4dENvbnRlbnQoKVxuICBjb25zdCBtYXRjaCA9IGZpbmRGaXJzdE1hdGNoKHRleHQsIG1hdGNoZXJzKVxuICBpZiAobWF0Y2ggPT09IG51bGwgfHwgbWF0Y2gudGV4dCAhPT0gdGV4dCkge1xuICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obGlua05vZGUpXG4gICAgb25DaGFuZ2UobnVsbCwgbGlua05vZGUuZ2V0RmllbGRzKCk/LnVybCA/PyBudWxsKVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gQ2hlY2sgbmVpZ2hib3JzXG4gIGlmICghaXNQcmV2aW91c05vZGVWYWxpZChsaW5rTm9kZSkgfHwgIWlzTmV4dE5vZGVWYWxpZChsaW5rTm9kZSkpIHtcbiAgICByZXBsYWNlV2l0aENoaWxkcmVuKGxpbmtOb2RlKVxuICAgIG9uQ2hhbmdlKG51bGwsIGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmwgPz8gbnVsbClcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHVybCA9IGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmxcbiAgaWYgKHVybCAhPT0gbWF0Y2g/LnVybCkge1xuICAgIGNvbnN0IGZsZHMgPSBsaW5rTm9kZS5nZXRGaWVsZHMoKVxuICAgIGZsZHMudXJsID0gbWF0Y2g/LnVybFxuICAgIGxpbmtOb2RlLnNldEZpZWxkcyhmbGRzKVxuICAgIG9uQ2hhbmdlKG1hdGNoLnVybCwgdXJsID8/IG51bGwpXG4gIH1cbn1cblxuLy8gQmFkIG5laWdoYm9ycyBhcmUgZWRpdHMgaW4gbmVpZ2hib3Igbm9kZXMgdGhhdCBtYWtlIEF1dG9MaW5rcyBpbmNvbXBhdGlibGUuXG4vLyBHaXZlbiB0aGUgY3JlYXRpb24gcHJlY29uZGl0aW9ucywgdGhlc2UgY2FuIG9ubHkgYmUgc2ltcGxlIHRleHQgbm9kZXMuXG5mdW5jdGlvbiBoYW5kbGVCYWROZWlnaGJvcnMoXG4gIHRleHROb2RlOiBUZXh0Tm9kZSxcbiAgbWF0Y2hlcnM6IExpbmtNYXRjaGVyW10sXG4gIG9uQ2hhbmdlOiBDaGFuZ2VIYW5kbGVyLFxuKTogdm9pZCB7XG4gIGNvbnN0IHByZXZpb3VzU2libGluZyA9IHRleHROb2RlLmdldFByZXZpb3VzU2libGluZygpXG4gIGNvbnN0IG5leHRTaWJsaW5nID0gdGV4dE5vZGUuZ2V0TmV4dFNpYmxpbmcoKVxuICBjb25zdCB0ZXh0ID0gdGV4dE5vZGUuZ2V0VGV4dENvbnRlbnQoKVxuXG4gIGlmICgkaXNBdXRvTGlua05vZGUocHJldmlvdXNTaWJsaW5nKSAmJiAhc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0KSkge1xuICAgIHByZXZpb3VzU2libGluZy5hcHBlbmQodGV4dE5vZGUpXG4gICAgaGFuZGxlTGlua0VkaXQocHJldmlvdXNTaWJsaW5nLCBtYXRjaGVycywgb25DaGFuZ2UpXG4gICAgb25DaGFuZ2UobnVsbCwgcHJldmlvdXNTaWJsaW5nLmdldEZpZWxkcygpPy51cmwgPz8gbnVsbClcbiAgfVxuXG4gIGlmICgkaXNBdXRvTGlua05vZGUobmV4dFNpYmxpbmcpICYmICFlbmRzV2l0aFNlcGFyYXRvcih0ZXh0KSkge1xuICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obmV4dFNpYmxpbmcpXG4gICAgaGFuZGxlTGlua0VkaXQobmV4dFNpYmxpbmcsIG1hdGNoZXJzLCBvbkNoYW5nZSlcbiAgICBvbkNoYW5nZShudWxsLCBuZXh0U2libGluZy5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGFjZVdpdGhDaGlsZHJlbihub2RlOiBFbGVtZW50Tm9kZSk6IExleGljYWxOb2RlW10ge1xuICBjb25zdCBjaGlsZHJlbiA9IG5vZGUuZ2V0Q2hpbGRyZW4oKVxuICBjb25zdCBjaGlsZHJlbkxlbmd0aCA9IGNoaWxkcmVuLmxlbmd0aFxuXG4gIGZvciAobGV0IGogPSBjaGlsZHJlbkxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XG4gICAgbm9kZS5pbnNlcnRBZnRlcihjaGlsZHJlbltqXSlcbiAgfVxuXG4gIG5vZGUucmVtb3ZlKClcbiAgcmV0dXJuIGNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IGNoaWxkLmdldExhdGVzdCgpKVxufVxuXG5mdW5jdGlvbiBnZXRUZXh0Tm9kZXNUb01hdGNoKHRleHROb2RlOiBUZXh0Tm9kZSk6IFRleHROb2RlW10ge1xuICAvLyBjaGVjayBpZiBuZXh0IHNpYmxpbmdzIGFyZSBzaW1wbGUgdGV4dCBub2RlcyB0aWxsIGEgbm9kZSBjb250YWlucyBhIHNwYWNlIHNlcGFyYXRvclxuICBjb25zdCB0ZXh0Tm9kZXNUb01hdGNoID0gW3RleHROb2RlXVxuICBsZXQgbmV4dFNpYmxpbmcgPSB0ZXh0Tm9kZS5nZXROZXh0U2libGluZygpXG4gIHdoaWxlIChuZXh0U2libGluZyAhPT0gbnVsbCAmJiAkaXNUZXh0Tm9kZShuZXh0U2libGluZykgJiYgbmV4dFNpYmxpbmcuaXNTaW1wbGVUZXh0KCkpIHtcbiAgICB0ZXh0Tm9kZXNUb01hdGNoLnB1c2gobmV4dFNpYmxpbmcpXG4gICAgaWYgKC9cXHMvLnRlc3QobmV4dFNpYmxpbmcuZ2V0VGV4dENvbnRlbnQoKSkpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIG5leHRTaWJsaW5nID0gbmV4dFNpYmxpbmcuZ2V0TmV4dFNpYmxpbmcoKVxuICB9XG4gIHJldHVybiB0ZXh0Tm9kZXNUb01hdGNoXG59XG5cbmZ1bmN0aW9uIHVzZUF1dG9MaW5rKFxuICBlZGl0b3I6IExleGljYWxFZGl0b3IsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZT86IENoYW5nZUhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVkaXRvci5oYXNOb2RlcyhbQXV0b0xpbmtOb2RlXSkpIHtcbiAgICAgIGludmFyaWFudChmYWxzZSwgJ0xleGljYWxBdXRvTGlua1BsdWdpbjogQXV0b0xpbmtOb2RlIG5vdCByZWdpc3RlcmVkIG9uIGVkaXRvcicpXG4gICAgfVxuXG4gICAgY29uc3Qgb25DaGFuZ2VXcmFwcGVkID0gKHVybDogbnVsbCB8IHN0cmluZywgcHJldlVybDogbnVsbCB8IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgaWYgKG9uQ2hhbmdlICE9IG51bGwpIHtcbiAgICAgICAgb25DaGFuZ2UodXJsLCBwcmV2VXJsKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyTm9kZVRyYW5zZm9ybShUZXh0Tm9kZVZhbHVlLCAodGV4dE5vZGU6IFRleHROb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRleHROb2RlLmdldFBhcmVudE9yVGhyb3coKVxuICAgICAgICBjb25zdCBwcmV2aW91cyA9IHRleHROb2RlLmdldFByZXZpb3VzU2libGluZygpXG4gICAgICAgIGlmICgkaXNBdXRvTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGhhbmRsZUxpbmtFZGl0KHBhcmVudCwgbWF0Y2hlcnMsIG9uQ2hhbmdlV3JhcHBlZClcbiAgICAgICAgfSBlbHNlIGlmICghJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRleHROb2RlLmlzU2ltcGxlVGV4dCgpICYmXG4gICAgICAgICAgICAoc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpKSB8fCAhJGlzQXV0b0xpbmtOb2RlKHByZXZpb3VzKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHROb2Rlc1RvTWF0Y2ggPSBnZXRUZXh0Tm9kZXNUb01hdGNoKHRleHROb2RlKVxuICAgICAgICAgICAgaGFuZGxlTGlua0NyZWF0aW9uKHRleHROb2Rlc1RvTWF0Y2gsIG1hdGNoZXJzLCBvbkNoYW5nZVdyYXBwZWQpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaGFuZGxlQmFkTmVpZ2hib3JzKHRleHROb2RlLCBtYXRjaGVycywgb25DaGFuZ2VXcmFwcGVkKVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG4gIH0sIFtlZGl0b3IsIG1hdGNoZXJzLCBvbkNoYW5nZV0pXG59XG5cbmNvbnN0IFVSTF9SRUdFWCA9XG4gIC8oKGh0dHBzPzpcXC9cXC8od3d3XFwuKT8pfCh3d3dcXC4pKVstXFx3QDolLit+Iz1dezEsMjU2fVxcLlthLXpBLVpcXGQoKV17MSw2fVxcYihbLVxcdygpQDolKy5+Iz8mLz1dKikvXG5cbmNvbnN0IEVNQUlMX1JFR0VYID1cbiAgLygoW148PigpW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbXFxkezEsM31cXC5cXGR7MSwzfVxcLlxcZHsxLDN9XFwuXFxkezEsM31cXF0pfCgoW2EtekEtWlxcLVxcZF0rXFwuKStbYS16QS1aXXsyLH0pKS9cblxuY29uc3QgTUFUQ0hFUlMgPSBbXG4gIGNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cChVUkxfUkVHRVgsICh0ZXh0KSA9PiB7XG4gICAgcmV0dXJuIHRleHQuc3RhcnRzV2l0aCgnaHR0cCcpID8gdGV4dCA6IGBodHRwczovLyR7dGV4dH1gXG4gIH0pLFxuICBjcmVhdGVMaW5rTWF0Y2hlcldpdGhSZWdFeHAoRU1BSUxfUkVHRVgsICh0ZXh0KSA9PiB7XG4gICAgcmV0dXJuIGBtYWlsdG86JHt0ZXh0fWBcbiAgfSksXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRvTGlua1BsdWdpbigpOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuXG4gIHVzZUF1dG9MaW5rKGVkaXRvciwgTUFUQ0hFUlMpXG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJsZXhpY2FsQ29tcG9zZXJDb250ZXh0SW1wb3J0IiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsImxleGljYWxVdGlsc0ltcG9ydCIsIm1lcmdlUmVnaXN0ZXIiLCJsZXhpY2FsSW1wb3J0IiwiJGNyZWF0ZVRleHROb2RlIiwiJGdldFNlbGVjdGlvbiIsIiRpc0VsZW1lbnROb2RlIiwiJGlzTGluZUJyZWFrTm9kZSIsIiRpc05vZGVTZWxlY3Rpb24iLCIkaXNSYW5nZVNlbGVjdGlvbiIsIiRpc1RleHROb2RlIiwiVGV4dE5vZGUiLCJUZXh0Tm9kZVZhbHVlIiwidXNlRWZmZWN0IiwiaW52YXJpYW50IiwiJGNyZWF0ZUF1dG9MaW5rTm9kZSIsIiRpc0F1dG9MaW5rTm9kZSIsIkF1dG9MaW5rTm9kZSIsIiRpc0xpbmtOb2RlIiwiY3JlYXRlTGlua01hdGNoZXJXaXRoUmVnRXhwIiwicmVnRXhwIiwidXJsVHJhbnNmb3JtZXIiLCJ0ZXh0IiwibWF0Y2giLCJleGVjIiwiaW5kZXgiLCJsZW5ndGgiLCJ1cmwiLCJmaW5kRmlyc3RNYXRjaCIsIm1hdGNoZXJzIiwiaSIsIlBVTkNUVUFUSU9OX09SX1NQQUNFIiwiaXNTZXBhcmF0b3IiLCJjaGFyIiwidGVzdCIsImVuZHNXaXRoU2VwYXJhdG9yIiwidGV4dENvbnRlbnQiLCJzdGFydHNXaXRoU2VwYXJhdG9yIiwiaXNQcmV2aW91c05vZGVWYWxpZCIsIm5vZGUiLCJwcmV2aW91c05vZGUiLCJnZXRQcmV2aW91c1NpYmxpbmciLCJnZXRMYXN0RGVzY2VuZGFudCIsImdldFRleHRDb250ZW50IiwiaXNOZXh0Tm9kZVZhbGlkIiwibmV4dE5vZGUiLCJnZXROZXh0U2libGluZyIsImdldEZpcnN0RGVzY2VuZGFudCIsImlzQ29udGVudEFyb3VuZElzVmFsaWQiLCJtYXRjaFN0YXJ0IiwibWF0Y2hFbmQiLCJub2RlcyIsImNvbnRlbnRCZWZvcmVJc1ZhbGlkIiwiY29udGVudEFmdGVySXNWYWxpZCIsImV4dHJhY3RNYXRjaGluZ05vZGVzIiwic3RhcnRJbmRleCIsImVuZEluZGV4IiwidW5tb2RpZmllZEJlZm9yZU5vZGVzIiwibWF0Y2hpbmdOb2RlcyIsInVubW9kaWZpZWRBZnRlck5vZGVzIiwibWF0Y2hpbmdPZmZzZXQiLCJjdXJyZW50T2Zmc2V0IiwiY3VycmVudE5vZGVzIiwiY3VycmVudE5vZGUiLCJjdXJyZW50Tm9kZVRleHQiLCJjdXJyZW50Tm9kZUxlbmd0aCIsImN1cnJlbnROb2RlU3RhcnQiLCJjdXJyZW50Tm9kZUVuZCIsInB1c2giLCJzaGlmdCIsImNyZWF0ZUF1dG9MaW5rTm9kZSIsImZpZWxkcyIsImxpbmtUeXBlIiwibGlua05vZGUiLCJyZW1haW5pbmdUZXh0Tm9kZSIsImxpbmtUZXh0Tm9kZSIsInNwbGl0VGV4dCIsInRleHROb2RlIiwic2V0Rm9ybWF0IiwiZ2V0Rm9ybWF0Iiwic2V0RGV0YWlsIiwiZ2V0RGV0YWlsIiwiYXBwZW5kIiwicmVwbGFjZSIsImZpcnN0VGV4dE5vZGUiLCJvZmZzZXQiLCJmaXJzdExpbmtUZXh0Tm9kZSIsImxpbmtOb2RlcyIsImVuZE5vZGUiLCJzZWxlY3Rpb24iLCJzZWxlY3RlZFRleHROb2RlIiwiZ2V0Tm9kZXMiLCJmaW5kIiwidW5kZWZpbmVkIiwic2VsZWN0IiwiYW5jaG9yIiwiZm9jdXMiLCJoYW5kbGVMaW5rQ3JlYXRpb24iLCJvbkNoYW5nZSIsImluaXRpYWxUZXh0IiwibWFwIiwiam9pbiIsImludmFsaWRNYXRjaEVuZCIsIm1hdGNoTGVuZ3RoIiwiaXNWYWxpZCIsImFjdHVhbE1hdGNoU3RhcnQiLCJhY3R1YWxNYXRjaEVuZCIsInN1YnN0cmluZyIsImhhbmRsZUxpbmtFZGl0IiwiY2hpbGRyZW4iLCJnZXRDaGlsZHJlbiIsImNoaWxkcmVuTGVuZ3RoIiwiY2hpbGQiLCJpc1NpbXBsZVRleHQiLCJyZXBsYWNlV2l0aENoaWxkcmVuIiwiZ2V0RmllbGRzIiwiZmxkcyIsInNldEZpZWxkcyIsImhhbmRsZUJhZE5laWdoYm9ycyIsInByZXZpb3VzU2libGluZyIsIm5leHRTaWJsaW5nIiwiaiIsImluc2VydEFmdGVyIiwicmVtb3ZlIiwiZ2V0TGF0ZXN0IiwiZ2V0VGV4dE5vZGVzVG9NYXRjaCIsInRleHROb2Rlc1RvTWF0Y2giLCJ1c2VBdXRvTGluayIsImVkaXRvciIsImhhc05vZGVzIiwib25DaGFuZ2VXcmFwcGVkIiwicHJldlVybCIsInJlZ2lzdGVyTm9kZVRyYW5zZm9ybSIsInBhcmVudCIsImdldFBhcmVudE9yVGhyb3ciLCJwcmV2aW91cyIsIlVSTF9SRUdFWCIsIkVNQUlMX1JFR0VYIiwiTUFUQ0hFUlMiLCJzdGFydHNXaXRoIiwiQXV0b0xpbmtQbHVnaW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBT0Esa0NBQWtDLDJDQUEwQztBQUNuRixNQUFNLEVBQUVDLHlCQUF5QixFQUFFLEdBQUdEO0FBRXRDLE9BQU9FLHdCQUF3QixpQkFBZ0I7QUFDL0MsTUFBTSxFQUFFQyxhQUFhLEVBQUUsR0FBR0Q7QUFF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
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../../../src/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,eAAO,MAAM,8BAA8B,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAE7E,CAAA"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../../../../src/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,eAAO,MAAM,8BAA8B,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAE7E,CAAA"}
@@ -1,4 +1,5 @@
1
- import { createCommand } from 'lexical';
1
+ import lexicalImport from 'lexical';
2
+ const { createCommand } = lexicalImport;
2
3
  export const TOGGLE_LINK_WITH_MODAL_COMMAND = createCommand('TOGGLE_LINK_WITH_MODAL_COMMAND');
3
4
 
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvY29tbWFuZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMZXhpY2FsQ29tbWFuZCB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB7IGNyZWF0ZUNvbW1hbmQgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgdHlwZSB7IExpbmtQYXlsb2FkIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5cbmV4cG9ydCBjb25zdCBUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQ6IExleGljYWxDb21tYW5kPExpbmtQYXlsb2FkIHwgbnVsbD4gPSBjcmVhdGVDb21tYW5kKFxuICAnVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EJyxcbilcbiJdLCJuYW1lcyI6WyJjcmVhdGVDb21tYW5kIiwiVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxhQUFhLFFBQVEsVUFBUztBQUl2QyxPQUFPLE1BQU1DLGlDQUFxRUQsY0FDaEYsa0NBQ0QifQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvY29tbWFuZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMZXhpY2FsQ29tbWFuZCB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCBsZXhpY2FsSW1wb3J0IGZyb20gJ2xleGljYWwnXG5jb25zdCB7IGNyZWF0ZUNvbW1hbmQgfSA9IGxleGljYWxJbXBvcnRcblxuaW1wb3J0IHR5cGUgeyBMaW5rUGF5bG9hZCB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5leHBvcnQgY29uc3QgVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EOiBMZXhpY2FsQ29tbWFuZDxMaW5rUGF5bG9hZCB8IG51bGw+ID0gY3JlYXRlQ29tbWFuZChcbiAgJ1RPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCcsXG4pXG4iXSwibmFtZXMiOlsibGV4aWNhbEltcG9ydCIsImNyZWF0ZUNvbW1hbmQiLCJUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQiXSwibWFwcGluZ3MiOiJBQUVBLE9BQU9BLG1CQUFtQixVQUFTO0FBQ25DLE1BQU0sRUFBRUMsYUFBYSxFQUFFLEdBQUdEO0FBSTFCLE9BQU8sTUFBTUUsaUNBQXFFRCxjQUNoRixrQ0FDRCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAcvE,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,KAAK,CAAC,SAAS,CAkRvF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAcvE,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,KAAK,CAAC,SAAS,CAoRvF"}