@worktile/theia 18.0.12 → 18.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/conversion-hint/conversion-hint.component.d.ts +3 -1
- package/components/plugin-menu/plugin-menu.component.d.ts +4 -2
- package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +2 -1
- package/components/toolbar-group/toolbar-group.component.d.ts +5 -2
- package/components/toolbar-item/toolbar-item.component.d.ts +2 -1
- package/core/toolbar-item/base-toolbar-item.d.ts +5 -0
- package/esm2022/components/conversion-hint/conversion-hint.component.mjs +5 -3
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +7 -5
- package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +8 -7
- package/esm2022/components/toolbar-group/toolbar-group.component.mjs +10 -7
- package/esm2022/components/toolbar-item/toolbar-item.component.mjs +14 -7
- package/esm2022/constants/plugin-menu.mjs +2 -2
- package/esm2022/core/toolbar-item/base-toolbar-item.mjs +15 -13
- package/esm2022/i18n/i18n.mjs +10 -0
- package/esm2022/i18n/i18n.service.mjs +49 -0
- package/esm2022/i18n/i18n.token.mjs +9 -0
- package/esm2022/i18n/index.mjs +10 -0
- package/esm2022/i18n/locales/de-de.mjs +100 -0
- package/esm2022/i18n/locales/en-us.mjs +100 -0
- package/esm2022/i18n/locales/ja-jp.mjs +100 -0
- package/esm2022/i18n/locales/ru-ru.mjs +100 -0
- package/esm2022/i18n/locales/zh-hans.mjs +100 -0
- package/esm2022/i18n/locales/zh-hant.mjs +100 -0
- package/esm2022/interfaces/plugins/plugin-menu.mjs +1 -1
- package/esm2022/interfaces/toolbar.mjs +1 -1
- package/esm2022/plugins/align/align.plugin.mjs +5 -1
- package/esm2022/plugins/blockquote/blockquote.plugin.mjs +5 -2
- package/esm2022/plugins/code/code.component.mjs +6 -4
- package/esm2022/plugins/code/code.plugin.mjs +5 -2
- package/esm2022/plugins/color/color.plugin.mjs +3 -1
- package/esm2022/plugins/color/toolbar-item.component.mjs +9 -8
- package/esm2022/plugins/common/common.plugin.mjs +2 -1
- package/esm2022/plugins/heading/heading.plugin.mjs +19 -5
- package/esm2022/plugins/hr/hr.plugin.mjs +5 -2
- package/esm2022/plugins/image/image.component.mjs +9 -7
- package/esm2022/plugins/image/image.plugin.mjs +5 -2
- package/esm2022/plugins/indent/indent.plugin.mjs +3 -1
- package/esm2022/plugins/inline-code/inline-code.plugin.mjs +2 -1
- package/esm2022/plugins/link/edit/link-edit.component.mjs +9 -7
- package/esm2022/plugins/link/link.editor.mjs +6 -3
- package/esm2022/plugins/link/link.plugin.mjs +5 -2
- package/esm2022/plugins/list/list.plugin.mjs +9 -3
- package/esm2022/plugins/mark/mark.plugin.mjs +5 -1
- package/esm2022/plugins/paint-format/paint-format.editor.mjs +5 -1
- package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +9 -6
- package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +6 -4
- package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +11 -9
- package/esm2022/plugins/table/table.plugin.mjs +5 -2
- package/esm2022/plugins/table/toolbar-item.component.mjs +8 -7
- package/esm2022/plugins/todo-item/todo-item.plugin.mjs +5 -2
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +8 -7
- package/esm2022/plugins/vertical-align/vertical-align.editor.mjs +5 -1
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/services/table-contextmenu.service.mjs +18 -16
- package/esm2022/utils/copy-node.mjs +7 -5
- package/fesm2022/worktile-theia.mjs +860 -117
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/i18n/i18n.d.ts +107 -0
- package/i18n/i18n.service.d.ts +14 -0
- package/i18n/i18n.token.d.ts +9 -0
- package/i18n/index.d.ts +9 -0
- package/i18n/locales/de-de.d.ts +100 -0
- package/i18n/locales/en-us.d.ts +100 -0
- package/i18n/locales/ja-jp.d.ts +100 -0
- package/i18n/locales/ru-ru.d.ts +100 -0
- package/i18n/locales/zh-hans.d.ts +100 -0
- package/i18n/locales/zh-hant.d.ts +100 -0
- package/interfaces/plugins/plugin-menu.d.ts +3 -0
- package/interfaces/toolbar.d.ts +1 -0
- package/package.json +1 -1
- package/plugins/code/code.component.d.ts +3 -1
- package/plugins/color/toolbar-item.component.d.ts +2 -1
- package/plugins/image/image.component.d.ts +3 -1
- package/plugins/link/edit/link-edit.component.d.ts +3 -1
- package/plugins/link/link.editor.d.ts +2 -1
- package/plugins/table/components/insert-mark/insert-mark.component.d.ts +5 -2
- package/plugins/table/components/toolbar/table-options.component.d.ts +3 -1
- package/plugins/table/components/toolbar/table-toolbar.component.d.ts +3 -1
- package/plugins/table/toolbar-item.component.d.ts +2 -1
- package/plugins/vertical-align/toolbar-item.component.d.ts +2 -1
- package/public-api.d.ts +1 -0
- package/services/table-contextmenu.service.d.ts +3 -1
- package/utils/copy-node.d.ts +3 -1
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import isUrl from 'is-url';
|
|
2
2
|
import { Editor, Element, Node, Range, Transforms } from 'slate';
|
|
3
3
|
import { ELEMENT_TO_COMPONENT } from 'slate-angular';
|
|
4
|
-
import { ElementKinds
|
|
4
|
+
import { ElementKinds } from '../../constants';
|
|
5
5
|
import { TheEditor } from '../../interfaces';
|
|
6
6
|
import { getAboveByType } from '../../queries/get-above-by-type';
|
|
7
7
|
import * as TheTransforms from '../../transforms';
|
|
8
8
|
import { LinkTags } from './link.types';
|
|
9
|
+
import { TheI18nService } from '../../i18n';
|
|
9
10
|
export const LinkEditor = {
|
|
10
11
|
insertLink(editor) {
|
|
11
12
|
if (Range.isCollapsed(editor.selection)) {
|
|
12
13
|
Promise.resolve()
|
|
13
14
|
.then(() => {
|
|
14
|
-
|
|
15
|
+
const locale = editor.injector.get(TheI18nService).getLocale();
|
|
16
|
+
const linkDefaultText = locale().translations.link;
|
|
17
|
+
LinkEditor.wrapLink(editor, linkDefaultText, '');
|
|
15
18
|
})
|
|
16
19
|
.then(() => {
|
|
17
20
|
const [linkNode] = getAboveByType(editor, ElementKinds.link);
|
|
@@ -81,4 +84,4 @@ export const LinkEditor = {
|
|
|
81
84
|
}
|
|
82
85
|
}
|
|
83
86
|
};
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saW5rL2xpbmsuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLFFBQVEsQ0FBQztBQUMzQixPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixVQUFVLENBQUMsTUFBYztRQUNyQixJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRTtpQkFDWixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNQLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQztpQkFDRCxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNQLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0QsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMs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QUFDLENBQUM7WUFDeEIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0wsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNVcmwgZnJvbSAnaXMtdXJsJztcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgTm9kZSwgUmFuZ2UsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFTEVNRU5UX1RPX0NPTVBPTkVOVCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBMSU5LX0RFRkFVTFRfVEVYVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBMaW5rRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEFib3ZlQnlUeXBlIH0gZnJvbSAnLi4vLi4vcXVlcmllcy9nZXQtYWJvdmUtYnktdHlwZSc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgVGhlTGluayB9IGZyb20gJy4vbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlua1RhZ3MgfSBmcm9tICcuL2xpbmsudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgTGlua0VkaXRvciA9IHtcbiAgICBpbnNlcnRMaW5rKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGlmIChSYW5nZS5pc0NvbGxhcHNlZChlZGl0b3Iuc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIExpbmtFZGl0b3Iud3JhcExpbmsoZWRpdG9yLCBMSU5LX0RFRkFVTFRfVEVYVCwgJycpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbbGlua05vZGVdID0gZ2V0QWJvdmVCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMubGluayk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQobGlua05vZGUpIGFzIFRoZUxpbms7XG4gICAgICAgICAgICAgICAgICAgIGxpbmsub3BlbkxpbmtFZGl0KExpbmtUYWdzLmluc2VydCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IExpbmtFZGl0b3IuaXNBY3RpdmUoZWRpdG9yKTtcbiAgICAgICAgICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgIExpbmtFZGl0b3IudW53cmFwTGluayhlZGl0b3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBOb2RlLmZyYWdtZW50KGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbilbMF07XG4gICAgICAgICAgICBjb25zdCBzZWxlY3ROb2RlID0gTm9kZS5nZXQoZnJhZ21lbnQsIFtdKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdFRleHQgPSBOb2RlLnN0cmluZyhzZWxlY3ROb2RlKTtcblxuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIExpbmtFZGl0b3Iud3JhcExpbmsoZWRpdG9yLCBzZWxlY3RUZXh0LCAnJyk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtsaW5rTm9kZV0gPSBnZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5saW5rKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGluayA9IEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldChsaW5rTm9kZSkgYXMgVGhlTGluaztcbiAgICAgICAgICAgICAgICAgICAgbGluay5vcGVuTGlua0VkaXQoTGlua1RhZ3MuaW5zZXJ0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNBY3RpdmUoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgW2xpbmtdID0gRWRpdG9yLm5vZGVzKGVkaXRvciwgeyBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5saW5rIH0pO1xuICAgICAgICByZXR1cm4gISFsaW5rO1xuICAgIH0sXG4gICAgd3JhcExpbmsoZWRpdG9yOiBFZGl0b3IsIHRleHQ6IHN0cmluZywgdXJsOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKExpbmtFZGl0b3IuaXNBY3RpdmUoZWRpdG9yKSkge1xuICAgICAgICAgICAgTGlua0VkaXRvci51bndyYXBMaW5rKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgaXNDb2xsYXBzZWQgPSBzZWxlY3Rpb24gJiYgUmFuZ2UuaXNDb2xsYXBzZWQoc2VsZWN0aW9uKTtcbiAgICAgICAgY29uc3QgbGluazogTGlua0VsZW1lbnQgPSB7XG4gICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMubGluayxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBpc0NvbGxhcHNlZCA/IFt7IHRleHQgfV0gOiBbXVxuICAgICAgICB9O1xuICAgICAgICBpZiAoaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuaW5zZXJ0SW5saW5lRWxlbWVudChlZGl0b3IsIGxpbmspO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy53cmFwTm9kZXMoZWRpdG9yLCBsaW5rLCB7IHNwbGl0OiB0cnVlIH0pO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5jb2xsYXBzZShlZGl0b3IsIHsgZWRnZTogJ2VuZCcgfSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHVud3JhcExpbmsoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2RlcyhlZGl0b3IsIHsgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgbi50eXBlID09PSBFbGVtZW50S2luZHMubGluayB9KTtcbiAgICB9LFxuICAgIHVwZGF0ZUxpbmsoZWRpdG9yOiBFZGl0b3IsIGVsZW1lbnQ6IExpbmtFbGVtZW50LCB1cmw6IHN0cmluZywgdGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpc1VybCh1cmwpKSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC51cmwgIT09IHVybCkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZWRpdG9yLCB7IHVybDogdXJsIH0sIHsgYXQ6IHBhdGggfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoTm9kZS5zdHJpbmcoZWxlbWVudCkgIT09IHRleHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBFZGl0b3IuZWRnZXMoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydFRleHQoZWRpdG9yLCB0ZXh0LCB7IGF0OiB7IGFuY2hvcjogZW5kLCBmb2N1czogZW5kIH0gfSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7IGF0OiB7IGFuY2hvcjogc3RhcnQsIGZvY3VzOiBlbmQgfSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFRoZUVkaXRvci5mb2N1cyhlZGl0b3IpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBFZGl0b3IuYWZ0ZXIoZWRpdG9yLCBwYXRoKSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saW5rL2xpbmsuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLFFBQVEsQ0FBQztBQUMzQixPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLFVBQVUsQ0FBQyxNQUFpQjtRQUN4QixJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRTtpQkFDWixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNQLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvRCxNQUFNLGVBQWUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNuRCxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUs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QUUsQ0FBQyxDQUFDO2dCQUN6RSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRSxDQUFDO1lBQ0QsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QixVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDTCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc1VybCBmcm9tICdpcy11cmwnO1xuaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBOb2RlLCBSYW5nZSwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVMRU1FTlRfVE9fQ09NUE9ORU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTGlua0VsZW1lbnQgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRBYm92ZUJ5VHlwZSB9IGZyb20gJy4uLy4uL3F1ZXJpZXMvZ2V0LWFib3ZlLWJ5LXR5cGUnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi8uLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IFRoZUxpbmsgfSBmcm9tICcuL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmtUYWdzIH0gZnJvbSAnLi9saW5rLnR5cGVzJztcbmltcG9ydCB7IFRoZUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bic7XG5cbmV4cG9ydCBjb25zdCBMaW5rRWRpdG9yID0ge1xuICAgIGluc2VydExpbmsoZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgaWYgKFJhbmdlLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbG9jYWxlID0gZWRpdG9yLmluamVjdG9yLmdldChUaGVJMThuU2VydmljZSkuZ2V0TG9jYWxlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtEZWZhdWx0VGV4dCA9IGxvY2FsZSgpLnRyYW5zbGF0aW9ucy5saW5rO1xuICAgICAgICAgICAgICAgICAgICBMaW5rRWRpdG9yLndyYXBMaW5rKGVkaXRvciwgbGlua0RlZmF1bHRUZXh0LCAnJyk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtsaW5rTm9kZV0gPSBnZXRBYm92ZUJ5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5saW5rKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGluayA9IEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldChsaW5rTm9kZSkgYXMgVGhlTGluaztcbiAgICAgICAgICAgICAgICAgICAgbGluay5vcGVuTGlua0VkaXQoTGlua1RhZ3MuaW5zZXJ0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gTGlua0VkaXRvci5pc0FjdGl2ZShlZGl0b3IpO1xuICAgICAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgTGlua0VkaXRvci51bndyYXBMaW5rKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmcmFnbWVudCA9IE5vZGUuZnJhZ21lbnQoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKVswXTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdE5vZGUgPSBOb2RlLmdldChmcmFnbWVudCwgW10pO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0VGV4dCA9IE5vZGUuc3RyaW5nKHNlbGVjdE5vZGUpO1xuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgTGlua0VkaXRvci53cmFwTGluayhlZGl0b3IsIHNlbGVjdFRleHQsICcnKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2xpbmtOb2RlXSA9IGdldEFib3ZlQnlUeXBlKGVkaXRvciwgRWxlbWVudEtpbmRzLmxpbmspO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsaW5rID0gRUxFTUVOVF9UT19DT01QT05FTlQuZ2V0KGxpbmtOb2RlKSBhcyBUaGVMaW5rO1xuICAgICAgICAgICAgICAgICAgICBsaW5rLm9wZW5MaW5rRWRpdChMaW5rVGFncy5pbnNlcnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBpc0FjdGl2ZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBbbGlua10gPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7IG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpbmsgfSk7XG4gICAgICAgIHJldHVybiAhIWxpbms7XG4gICAgfSxcbiAgICB3cmFwTGluayhlZGl0b3I6IEVkaXRvciwgdGV4dDogc3RyaW5nLCB1cmw6IHN0cmluZykge1xuICAgICAgICBpZiAoTGlua0VkaXRvci5pc0FjdGl2ZShlZGl0b3IpKSB7XG4gICAgICAgICAgICBMaW5rRWRpdG9yLnVud3JhcExpbmsoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgICAgICBjb25zdCBpc0NvbGxhcHNlZCA9IHNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZChzZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBsaW5rOiBMaW5rRWxlbWVudCA9IHtcbiAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saW5rLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgY2hpbGRyZW46IGlzQ29sbGFwc2VkID8gW3sgdGV4dCB9XSA6IFtdXG4gICAgICAgIH07XG4gICAgICAgIGlmIChpc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5pbnNlcnRJbmxpbmVFbGVtZW50KGVkaXRvciwgbGluayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLndyYXBOb2RlcyhlZGl0b3IsIGxpbmssIHsgc3BsaXQ6IHRydWUgfSk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmNvbGxhcHNlKGVkaXRvciwgeyBlZGdlOiAnZW5kJyB9KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdW53cmFwTGluayhlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBUcmFuc2Zvcm1zLnVud3JhcE5vZGVzKGVkaXRvciwgeyBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiBuLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5saW5rIH0pO1xuICAgIH0sXG4gICAgdXBkYXRlTGluayhlZGl0b3I6IEVkaXRvciwgZWxlbWVudDogTGlua0VsZW1lbnQsIHVybDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlzVXJsKHVybCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBUaGVFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnVybCAhPT0gdXJsKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIHsgdXJsOiB1cmwgfSwgeyBhdDogcGF0aCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChOb2RlLnN0cmluZyhlbGVtZW50KSAhPT0gdGV4dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IEVkaXRvci5lZGdlcyhlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0VGV4dChlZGl0b3IsIHRleHQsIHsgYXQ6IHsgYW5jaG9yOiBlbmQsIGZvY3VzOiBlbmQgfSB9KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHsgYXQ6IHsgYW5jaG9yOiBzdGFydCwgZm9jdXM6IGVuZCB9IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgVGhlRWRpdG9yLmZvY3VzKGVkaXRvcik7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5hZnRlcihlZGl0b3IsIHBhdGgpKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
|
|
@@ -63,6 +63,7 @@ export const createLinkPlugin = createPluginFactory({
|
|
|
63
63
|
key: ElementKinds.link,
|
|
64
64
|
icon: 'link-insert',
|
|
65
65
|
name: '链接',
|
|
66
|
+
translateKey: 'link',
|
|
66
67
|
execute: editor => LinkEditor.insertLink(editor),
|
|
67
68
|
active: editor => LinkEditor.isActive(editor)
|
|
68
69
|
}
|
|
@@ -70,12 +71,14 @@ export const createLinkPlugin = createPluginFactory({
|
|
|
70
71
|
menuItems: [
|
|
71
72
|
{
|
|
72
73
|
key: ElementKinds.link,
|
|
73
|
-
keywords: 'lj,lianjie,link
|
|
74
|
+
keywords: 'lj,lianjie,link,链接,鏈接,cсылка,リンク',
|
|
74
75
|
description: '支持插入链接',
|
|
76
|
+
descriptionTranslateKey: 'linkDesc',
|
|
75
77
|
execute: editor => LinkEditor.insertLink(editor),
|
|
76
78
|
active: editor => LinkEditor.isActive(editor),
|
|
77
79
|
type: ThePluginMenuItemType.icon,
|
|
78
80
|
name: '链接',
|
|
81
|
+
translateKey: 'link',
|
|
79
82
|
displayKey: '/lj',
|
|
80
83
|
icon: 'link-insert',
|
|
81
84
|
menuIcon: PluginMenuIcons.link
|
|
@@ -86,4 +89,4 @@ export const createLinkPlugin = createPluginFactory({
|
|
|
86
89
|
disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
87
90
|
}
|
|
88
91
|
});
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saW5rL2xpbmsucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUMvQixPQUFPLEtBQUssTUFBTSxRQUFRLENBQUM7QUFDM0IsT0FBTyxFQUFtQixVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQ3ZELE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUUzRSxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ25DLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMs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QUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSTtZQUN0QixJQUFJLEVBQUUsYUFBYTtZQUNuQixJQUFJLEVBQUUsSUFBSTtZQUNWLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ2hELE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1NBQ2hEO0tBQ0o7SUFDRCxTQUFTLEVBQUU7UUFDUDtZQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSTtZQUN0QixRQUFRLEVBQUUsa0NBQWtDO1lBQzVDLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLHVCQUF1QixFQUFFLFVBQVU7WUFDbkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDaEQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDN0MsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUk7WUFDaEMsSUFBSSxFQUFFLElBQUk7WUFDVixZQUFZLEVBQUUsTUFBTTtZQUNwQixVQUFVLEVBQUUsS0FBSztZQUNqQixJQUFJLEVBQUUsYUFBYTtZQUNuQixRQUFRLEVBQUUsZUFBZSxDQUFDLElBQUk7U0FDakM7S0FDSjtJQUNELE9BQU8sRUFBRTtRQUNMLFFBQVEsRUFBRSxJQUFJO1FBQ2Qsb0JBQW9CLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsc0JBQXNCLENBQUM7S0FDeEU7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0VXJscyBmcm9tICdnZXQtdXJscyc7XG5pbXBvcnQgaXNVcmwgZnJvbSAnaXMtdXJsJztcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGdldENsaXBib2FyZERhdGEgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IERJU0FCTEVEX09QRVJBVEVfVFlQRVMsIEVsZW1lbnRLaW5kcywgUGx1Z2luTWVudUljb25zLCBUaGVQbHVnaW5NZW51SXRlbVR5cGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IHdpdGhSZW1vdmVFbXB0eU5vZGVzIH0gZnJvbSAnLi4vbm9ybWFsaXplcnMvcmVtb3ZlLWVtcHR5LW5vZGVzJztcbmltcG9ydCB7IFRoZUxpbmsgfSBmcm9tICcuL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmtFZGl0b3IgfSBmcm9tICcuL2xpbmsuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IHdpdGhMaW5rID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgaW5zZXJ0VGV4dCwgaXNJbmxpbmUsIGluc2VydEZyYWdtZW50RGF0YSwgcmVuZGVyRWxlbWVudCB9ID0gZWRpdG9yO1xuXG4gICAgZWRpdG9yLmlzSW5saW5lID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpbmsgPyB0cnVlIDogaXNJbmxpbmUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pbnNlcnRUZXh0ID0gdGV4dCA9PiB7XG4gICAgICAgIGlmICh0ZXh0ICYmIGlzVXJsKHRleHQpKSB7XG4gICAgICAgICAgICBMaW5rRWRpdG9yLndyYXBMaW5rKGVkaXRvciwgdGV4dCwgdGV4dCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLm1vdmUoZWRpdG9yLCB7IGRpc3RhbmNlOiAxLCB1bml0OiAnb2Zmc2V0JyB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluc2VydFRleHQodGV4dCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZWRpdG9yLmluc2VydEZyYWdtZW50RGF0YSA9IGFzeW5jIGRhdGEgPT4ge1xuICAgICAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gYXdhaXQgZ2V0Q2xpcGJvYXJkRGF0YShkYXRhKTtcbiAgICAgICAgY29uc3QgdGV4dCA9IGNsaXBib2FyZERhdGE/LnRleHQ7XG4gICAgICAgIGlmICghY2xpcGJvYXJkRGF0YT8uZWxlbWVudHMgJiYgdGV4dCAmJiBpc1VybCh0ZXh0KSkge1xuICAgICAgICAgICAgY29uc3QgdXJscyA9IEFycmF5LmZyb20oZ2V0VXJscyh0ZXh0LCB7IHN0cmlwV1dXOiBmYWxzZSwgc29ydFF1ZXJ5UGFyYW1ldGVyczogZmFsc2UgfSkpO1xuICAgICAgICAgICAgaWYgKHVybHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbGV0IHN0ciA9IGNsb25lRGVlcCh0ZXh0KTtcbiAgICAgICAgICAgICAgICB1cmxzLmZvckVhY2goKHVybCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFydHMgPSBzdHIuc3BsaXQodXJsKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVVcmwgPSBwYXJ0c1swXTtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0VGV4dChiZWZvcmVVcmwpO1xuXG4gICAgICAgICAgICAgICAgICAgIExpbmtFZGl0b3Iud3JhcExpbmsoZWRpdG9yLCB1cmwsIHVybCk7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZShlZGl0b3IsIHsgZGlzdGFuY2U6IDEsIHVuaXQ6ICdvZmZzZXQnIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdHIgPSBwYXJ0c1sxXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSB1cmxzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydFRleHQoc3RyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnNlcnRGcmFnbWVudERhdGEoZGF0YSk7XG4gICAgfTtcblxuICAgIGVkaXRvci5yZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpbmspIHtcbiAgICAgICAgICAgIHJldHVybiBUaGVMaW5rO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZW5kZXJFbGVtZW50KGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IgPSB3aXRoUmVtb3ZlRW1wdHlOb2Rlcyh7IHR5cGU6IEVsZW1lbnRLaW5kcy5saW5rIH0pKGVkaXRvcik7XG5cbiAgICByZXR1cm4gZWRpdG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxpbmtQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5KHtcbiAgICBrZXk6IFBsdWdpbktleXMubGluayxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoTGluayxcbiAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMubGluayxcbiAgICAgICAgICAgIGljb246ICdsaW5rLWluc2VydCcsXG4gICAgICAgICAgICBuYW1lOiAn6ZO+5o6lJyxcbiAgICAgICAgICAgIHRyYW5zbGF0ZUtleTogJ2xpbmsnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IExpbmtFZGl0b3IuaW5zZXJ0TGluayhlZGl0b3IpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gTGlua0VkaXRvci5pc0FjdGl2ZShlZGl0b3IpXG4gICAgICAgIH1cbiAgICBdLFxuICAgIG1lbnVJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5saW5rLFxuICAgICAgICAgICAga2V5d29yZHM6ICdsaixsaWFuamllLGxpbmss6ZO+5o6lLOmPiOaOpSxj0YHRi9C70LrQsCzjg6rjg7Pjgq8nLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICfmlK/mjIHmj5LlhaXpk77mjqUnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb25UcmFuc2xhdGVLZXk6ICdsaW5rRGVzYycsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTGlua0VkaXRvci5pbnNlcnRMaW5rKGVkaXRvciksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBMaW5rRWRpdG9yLmlzQWN0aXZlKGVkaXRvciksXG4gICAgICAgICAgICB0eXBlOiBUaGVQbHVnaW5NZW51SXRlbVR5cGUuaWNvbixcbiAgICAgICAgICAgIG5hbWU6ICfpk77mjqUnLFxuICAgICAgICAgICAgdHJhbnNsYXRlS2V5OiAnbGluaycsXG4gICAgICAgICAgICBkaXNwbGF5S2V5OiAnL2xqJyxcbiAgICAgICAgICAgIGljb246ICdsaW5rLWluc2VydCcsXG4gICAgICAgICAgICBtZW51SWNvbjogUGx1Z2luTWVudUljb25zLmxpbmtcbiAgICAgICAgfVxuICAgIF0sXG4gICAgb3B0aW9uczoge1xuICAgICAgICBpc0lubGluZTogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZWRPcGVyYXRlVHlwZXM6IFtFbGVtZW50S2luZHMuaW1hZ2UsIC4uLkRJU0FCTEVEX09QRVJBVEVfVFlQRVNdXG4gICAgfVxufSk7XG4iXX0=
|
|
@@ -260,6 +260,7 @@ export const createListPlugin = createPluginFactory({
|
|
|
260
260
|
key: ElementKinds.numberedList,
|
|
261
261
|
icon: 'list-ordered',
|
|
262
262
|
name: '有序列表',
|
|
263
|
+
translateKey: 'orderedList',
|
|
263
264
|
execute: editor => ListEditor.toggleList(editor, ElementKinds.numberedList),
|
|
264
265
|
active: editor => ListEditor.isActive(editor, ElementKinds.numberedList)
|
|
265
266
|
},
|
|
@@ -267,6 +268,7 @@ export const createListPlugin = createPluginFactory({
|
|
|
267
268
|
key: ElementKinds.bulletedList,
|
|
268
269
|
icon: 'list-bullet',
|
|
269
270
|
name: '无序列表',
|
|
271
|
+
translateKey: 'unorderedList',
|
|
270
272
|
execute: editor => ListEditor.toggleList(editor, ElementKinds.bulletedList),
|
|
271
273
|
active: editor => ListEditor.isActive(editor, ElementKinds.bulletedList)
|
|
272
274
|
}
|
|
@@ -274,24 +276,28 @@ export const createListPlugin = createPluginFactory({
|
|
|
274
276
|
menuItems: [
|
|
275
277
|
{
|
|
276
278
|
key: ElementKinds.numberedList,
|
|
277
|
-
keywords: 'yxlb,youxuliebiao,numbered list,numberedlist
|
|
279
|
+
keywords: 'yxlb,youxuliebiao,numbered list,numberedlist,有序列表,有序清單,нумерованный списо,nummerierte liste,順序付きリスト,番号付きリスト,',
|
|
278
280
|
execute: editor => ListEditor.toggleList(editor, ElementKinds.numberedList),
|
|
279
281
|
active: editor => ListEditor.isActive(editor, ElementKinds.numberedList),
|
|
280
282
|
type: ThePluginMenuItemType.icon,
|
|
281
283
|
name: '有序列表',
|
|
284
|
+
translateKey: 'orderedList',
|
|
282
285
|
description: '插入有序列表',
|
|
286
|
+
descriptionTranslateKey: 'orderedListDesc',
|
|
283
287
|
displayKey: '/yxlb',
|
|
284
288
|
icon: 'list-ordered',
|
|
285
289
|
menuIcon: PluginMenuIcons.numberedList
|
|
286
290
|
},
|
|
287
291
|
{
|
|
288
292
|
key: ElementKinds.bulletedList,
|
|
289
|
-
keywords: 'wxlb,wuxuliebiao,bulletedlist,bulleted list
|
|
293
|
+
keywords: 'wxlb,wuxuliebiao,bulletedlist,bulleted list,无序列表,無序清單,неупорядоченный список,ungeordneten liste,順序なしリスト,番号なしリスト',
|
|
290
294
|
execute: editor => ListEditor.toggleList(editor, ElementKinds.bulletedList),
|
|
291
295
|
active: editor => ListEditor.isActive(editor, ElementKinds.bulletedList),
|
|
292
296
|
type: ThePluginMenuItemType.icon,
|
|
293
297
|
name: '无序列表',
|
|
298
|
+
translateKey: 'unorderedList',
|
|
294
299
|
description: '插入无序列表',
|
|
300
|
+
descriptionTranslateKey: 'unorderedListDesc',
|
|
295
301
|
displayKey: '/wxlb',
|
|
296
302
|
icon: 'list-bullet',
|
|
297
303
|
menuIcon: PluginMenuIcons.bulletedList
|
|
@@ -299,4 +305,4 @@ export const createListPlugin = createPluginFactory({
|
|
|
299
305
|
],
|
|
300
306
|
options: listOptions
|
|
301
307
|
});
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L2xpc3QucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFD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QUNuQixRQUFRLEVBQUUsZUFBZSxDQUFDLFlBQVk7U0FDekM7S0FDSjtJQUNELE9BQU8sRUFBRSxXQUFXO0NBQ3ZCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2VzdG9yLCBFZGl0b3IsIEVsZW1lbnQsIE5vZGUsIFBhdGgsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBPcmlnaW5FdmVudCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBQbHVnaW5NZW51SWNvbnMsIFRoZVBsdWdpbk1lbnVJdGVtVHlwZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5LCBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi8uLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGV4dHJhY3RGcmFnbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ZyYWdtZW50JztcbmltcG9ydCB7IFRoZUJ1bGxldGVkTGlzdCB9IGZyb20gJy4vY29tcG9uZW50cy9idWxsZXRlZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVMaXN0SXRlbSB9IGZyb20gJy4vY29tcG9uZW50cy9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZU51bWJlcmVkTGlzdCB9IGZyb20gJy4vY29tcG9uZW50cy9udW1iZXJlZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0RWRpdG9yIH0gZnJvbSAnLi9saXN0LmVkaXRvcic7XG5pbXBvcnQgeyBnZXRMaXN0Tm9ybWFsaXplciB9IGZyb20gJy4vbm9ybWFsaXplcnMvZ2V0LWxpc3Qtbm9ybWFsaXplcic7XG5pbXBvcnQgeyBvbktleURvd25MaXN0IH0gZnJvbSAnLi9vbi1rZXktZG93bi1saXN0JztcbmltcG9ydCB7IGdldExpc3RJdGVtRW50cnkgfSBmcm9tICcuL3F1ZXJpZXMvZ2V0LWxpc3QtaXRlbS1lbnRyeSc7XG5pbXBvcnQgeyBnZXRMaXN0VHlwZXMgfSBmcm9tICcuL3F1ZXJpZXMvZ2V0LWxpc3QtdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U3RhcnRMaXN0SXRlbSB9IGZyb20gJy4vcXVlcmllcy9nZXQtc3RhcnQtbGlzdC1pdGVtJztcbmltcG9ydCB7IGhhc0xpc3RJbkxpc3RJdGVtLCBoYXNTdGFibGVMaXN0SW5MaXN0SXRlbSwgaGFzU3RhYmxlTGlzdEl0ZW0gfSBmcm9tICcuL3F1ZXJpZXMvaGFzLWxpc3QtaW4tbGlzdC1pdGVtJztcbmltcG9ydCB7IGlzSW5MaXN0IH0gZnJvbSAnLi9xdWVyaWVzL2lzLWluLWxpc3QnO1xuaW1wb3J0IHsgaXNMaXN0IH0gZnJvbSAnLi9xdWVyaWVzL2lzLWxpc3QnO1xuaW1wb3J0IHsgaXNMaXN0TmVzdGVkIH0gZnJvbSAnLi9xdWVyaWVzL2lzLWxpc3QtbmVzdGVkJztcbmltcG9ydCB7IGlzU2VsZWN0aW9uQXRMaXN0SXRlbVN0YXJ0IH0gZnJvbSAnLi9xdWVyaWVzL2lzLXNlbGVjdGlvbi1hdC1saXN0LWl0ZW0tc3RhcnQnO1xuaW1wb3J0IHsgaXNTZWxlY3Rpb25JblNhbWVMaXN0SXRlbSB9IGZyb20gJy4vcXVlcmllcy9pcy1zZWxlY3Rpb24taW4tc2FtZS1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgaXNTaW5nbGVMaXN0SXRlbSB9IGZyb20gJy4vcXVlcmllcy9pcy1zaW5nbGUtbGlzdC1pdGVtJztcbmltcG9ydCB7IGluc2VydExpc3REYXRhIH0gZnJvbSAnLi90cmFuc2Zvcm1zL2luc2VydC1saXN0LWRhdGEnO1xuaW1wb3J0IHsgaW5zZXJ0TGlzdEl0ZW0gfSBmcm9tICcuL3RyYW5zZm9ybXMvaW5zZXJ0LWxpc3QtaXRlbSc7XG5pbXBvcnQgeyBtb3ZlTGlzdEl0ZW1TdWJsaXN0SXRlbXNUb0xpc3RJdGVtU3VibGlzdCB9IGZyb20gJy4vdHJhbnNmb3Jtcy9tb3ZlLWxpc3QtaXRlbS1zdWJsaXN0LWl0ZW1zLXRvLWxpc3QtaXRlbS1zdWJsaXN0JztcbmltcG9ydCB7IG1vdmVMaXN0SXRlbVVwIH0gZnJvbSAnLi90cmFuc2Zvcm1zL21vdmUtbGlzdC1pdGVtLXVwJztcbmltcG9ydCB7IHVud3JhcExpc3QgfSBmcm9tICcuL3RyYW5zZm9ybXMvdW53cmFwLWxpc3QnO1xuaW1wb3J0IHsgV2l0aExpc3RPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBzZXRDbGlwYm9hcmREYXRhQnlEb20gfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTGlzdCA9IDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCB7IGluc2VydEJyZWFrLCBkZWxldGVCYWNrd2FyZCwgb25LZXlkb3duLCBpbnNlcnRGcmFnbWVudERhdGEsIHNldEZyYWdtZW50RGF0YSwgcmVuZGVyRWxlbWVudCB9ID0gZWRpdG9yO1xuXG4gICAgY29uc3QgdmFsaWRMaUNoaWxkcmVuVHlwZXMgPSBnZXRQbHVnaW5PcHRpb25zPFdpdGhMaXN0T3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLmxpc3QpPy52YWxpZExpQ2hpbGRyZW5UeXBlcyA/PyBbXTtcblxuICAgIGNvbnN0IHJlc2V0QmxvY2tUeXBlc0xpc3RSdWxlID0ge1xuICAgICAgICB0eXBlczogW0VsZW1lbnRLaW5kcy5saXN0SXRlbV0sXG4gICAgICAgIGRlZmF1bHRUeXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoLFxuICAgICAgICBvblJlc2V0OiAoX2VkaXRvcjogRWRpdG9yKSA9PiB1bndyYXBMaXN0KF9lZGl0b3IpXG4gICAgfTtcblxuICAgIGVkaXRvci5pbnNlcnRCcmVhayA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2soZWRpdG9yKTtcblxuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIGluc2VydEJyZWFrKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc1ZvaWQgPSBFZGl0b3IuaXNWb2lkKGVkaXRvciwgbm9kZSk7XG4gICAgICAgIGlmIChpc1ZvaWQpIHtcbiAgICAgICAgICAgIGluc2VydEJyZWFrKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGlzdEVudHJ5ID0gZ2V0TGlzdEl0ZW1FbnRyeShlZGl0b3IsIHt9KTtcbiAgICAgICAgaWYgKGxpc3RFbnRyeSkge1xuICAgICAgICAgICAgbGV0IG1vdmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgeyBsaXN0LCBsaXN0SXRlbSB9ID0gbGlzdEVudHJ5O1xuICAgICAgICAgICAgY29uc3QgW2xpc3RJdGVtTm9kZSwgbGlzdEl0ZW1QYXRoXSA9IGxpc3RJdGVtO1xuICAgICAgICAgICAgY29uc3QgY3Vyc29yID0gZWRpdG9yLnNlbGVjdGlvbi5mb2N1cztcbiAgICAgICAgICAgIGNvbnN0IGlzU3RhcnQgPSBFZGl0b3IuaXNTdGFydChlZGl0b3IsIGN1cnNvciwgbGlzdEl0ZW1QYXRoKTtcblxuICAgICAgICAgICAgLy8gZGVwcmVjYXRlZFxuICAgICAgICAgICAgLy8g5aaC5p6c5pyJ5a2Q57qnXG4gICAgICAgICAgICBpZiAoaGFzTGlzdEluTGlzdEl0ZW0obGlzdEl0ZW1Ob2RlKSkge1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIElmIHNlbGVjdGlvbiBpcyBhdCB0aGUgZW5kIG9mIGxpLFxuICAgICAgICAgICAgICAgICAqIGluc2VydCBiZWxvdyBsaSB3aGVyZSBjaGlsZHJlbiB3aWxsIGJlIG1vdmVkLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGlmIChFZGl0b3IuaXNFbmQoZWRpdG9yLCBjdXJzb3IsIGxpc3RJdGVtUGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbeyB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoLCBjaGlsZHJlbjogW3sgdGV4dDogJycgfV0gfV1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGF0OiBQYXRoLm5leHQobGlzdEl0ZW1QYXRoKSwgc2VsZWN0OiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiDlpoLmnpzpgInljLrmmK/lnKhsaXN0SXRlbeeahOW8gOWktO+8jOWImeWcqGxpc3RJdGVt5LiK5pa55o+S5YWlXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgaWYgKGlzU3RhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbeyB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoLCBjaGlsZHJlbjogW3sgdGV4dDogJycgfV0gfV1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGF0OiBsaXN0SXRlbVBhdGggfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8g5aaC5p6c6YCJ5oup55qEbGlzdEl0ZW3kuLrnqbrliJnlsIblhbblkJHkuIrnp7vliqhcbiAgICAgICAgICAgIGlmIChpc1N0YXJ0ICYmIFRoZVF1ZXJpZXMuaXNCbG9ja0Fib3ZlRW1wdHkoZWRpdG9yKSkge1xuICAgICAgICAgICAgICAgIG1vdmVkID0gbW92ZUxpc3RJdGVtVXAoZWRpdG9yLCB7IGxpc3QsIGxpc3RJdGVtIH0pO1xuICAgICAgICAgICAgICAgIGlmIChtb3ZlZCkgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBkaWRSZXNldCA9IFRoZVRyYW5zZm9ybXMub25LZXlEb3duUmVzZXRCbG9ja1R5cGUoe1xuICAgICAgICAgICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJlc2V0QmxvY2tUeXBlc0xpc3RSdWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZGljYXRlOiAoKSA9PiAhbW92ZWQgJiYgaXNTdGFydCAmJiBUaGVRdWVyaWVzLmlzQmxvY2tBYm92ZUVtcHR5KGVkaXRvcilcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pKG51bGwsIGVkaXRvcik7XG4gICAgICAgICAgICBpZiAoZGlkUmVzZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogQWRkIGEgbmV3IGxpc3QgaXRlbSBpZiBzZWxlY3Rpb24gaXMgaW4gYSBMSVNUX0lURU0gPiBwLnR5cGUuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmICghbW92ZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnNlcnRlZCA9IGluc2VydExpc3RJdGVtKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgaWYgKGluc2VydGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnNlcnRCcmVhaygpO1xuICAgIH07XG5cbiAgICBlZGl0b3Iuc2V0RnJhZ21lbnREYXRhID0gKGRhdGE6IERhdGFUcmFuc2Zlciwgb3JpZ2luRXZlbnQ/OiBPcmlnaW5FdmVudCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuICAgICAgICBjb25zdCBbc3RhcnRdID0gRWRpdG9yLmVkZ2VzKGVkaXRvciwgc2VsZWN0aW9uKTtcbiAgICAgICAgaWYgKGlzSW5MaXN0KGVkaXRvciwgc3RhcnQpKSB7XG4gICAgICAgICAgICBjb25zdCBmcmFnbWVudERhdGEgPSBlZGl0b3IuZ2V0RnJhZ21lbnQoKTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50RWxlbWVudCA9IGZyYWdtZW50RGF0YVswXSBhcyBFbGVtZW50O1xuICAgICAgICAgICAgaWYgKGdldExpc3RUeXBlcygpLmluY2x1ZGVzKGZyYWdtZW50RWxlbWVudC50eXBlKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0Tm9kZXMgPSBnZXRTdGFydExpc3RJdGVtKFtmcmFnbWVudEVsZW1lbnQuY2hpbGRyZW5bMF1dIGFzIEVsZW1lbnRbXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBzdGFydE5vZGVzLmNvbmNhdCgoZnJhZ21lbnRFbGVtZW50LmNoaWxkcmVuIGFzIEVsZW1lbnRbXSkuc2xpY2UoMSkpO1xuICAgICAgICAgICAgICAgIGxldCBmcmFnbWVudE5vZGVzID0gW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5mcmFnbWVudEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSBhcyBOb2RlW107XG4gICAgICAgICAgICAgICAgaWYgKGlzU2VsZWN0aW9uSW5TYW1lTGlzdEl0ZW0oZWRpdG9yKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyDku4Xku4XlpI3liLbliJfooajkuK3nmoTlhoXlrrlcbiAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnROb2RlcyA9IGNoaWxkcmVuWzBdLmNoaWxkcmVuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZnJhZ21lbnROb2Rlcy5jb25jYXQoZnJhZ21lbnREYXRhLnNsaWNlKDEpKTtcbiAgICAgICAgICAgICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0Q2xpcGJvYXJkRGF0YUJ5RG9tKGVkaXRvciwgZnJhZ21lbnQgYXMgRWxlbWVudFtdLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRGcmFnbWVudERhdGEoZGF0YSwgb3JpZ2luRXZlbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuZGVsZXRlQmFja3dhcmQgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3QgcmVzID0gZ2V0TGlzdEl0ZW1FbnRyeShlZGl0b3IsIHt9KTtcblxuICAgICAgICBpZiAocmVzICYmIGlzU2VsZWN0aW9uQXRMaXN0SXRlbVN0YXJ0KGVkaXRvcikpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbGlzdCwgbGlzdEl0ZW0gfSA9IHJlcztcbiAgICAgICAgICAgIGNvbnN0IFssIGxpc3RQYXRoXSA9IGxpc3Q7XG4gICAgICAgICAgICBjb25zdCBbbGlzdEl0ZW1Ob2RlLCBsaXN0SXRlbVBhdGhdID0gbGlzdEl0ZW07XG5cbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzTGlzdEl0ZW1QYXRoID0gVGhlUXVlcmllcy5nZXRQcmV2aW91c1BhdGgobGlzdEl0ZW1QYXRoKTtcblxuICAgICAgICAgICAgaWYgKHByZXZpb3VzTGlzdEl0ZW1QYXRoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlUG9pbnQgPSBFZGl0b3IuYmVmb3JlKGVkaXRvciwgbGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRQYXRoID0gUGF0aC5wYXJlbnQoYmVmb3JlUG9pbnQucGF0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IE5vZGUuZ2V0KGVkaXRvciwgcGFyZW50UGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KHBhcmVudE5vZGUpICYmIEVkaXRvci5pc1ZvaWQoZWRpdG9yLCBwYXJlbnROb2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy51bndyYXBOb2Rlc0J5VHlwZShlZGl0b3IsIFtFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0XSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0OiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMudW53cmFwTm9kZXNCeVR5cGUoZWRpdG9yLCBFbGVtZW50S2luZHMubGlzdEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHByZXZpb3VzTGlzdEl0ZW1QYXRoICYmIGhhc1N0YWJsZUxpc3RJbkxpc3RJdGVtKGxpc3RJdGVtTm9kZSkpIHtcbiAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGVCYWNrd2FyZCh1bml0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW3ByZXZpb3VzTGlzdEl0ZW1Ob2RlXSA9IEVkaXRvci5ub2RlKGVkaXRvciwgcHJldmlvdXNMaXN0SXRlbVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBtb3ZlTGlzdEl0ZW1TdWJsaXN0SXRlbXNUb0xpc3RJdGVtU3VibGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tTGlzdEl0ZW06IGxpc3RJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvTGlzdEl0ZW06IFtwcmV2aW91c0xpc3RJdGVtTm9kZSBhcyBBbmNlc3RvciwgcHJldmlvdXNMaXN0SXRlbVBhdGhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtb3ZlIGxpc3RJdGVtIGNoaWxkcmVuIHRvIGJlZm9yZSBsaXN0SXRlbVxuICAgICAgICAgICAgaWYgKGxpc3RJdGVtTm9kZS5jaGlsZHJlbi5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlUGF0aFJlZiA9IEVkaXRvci5wYXRoUmVmKGVkaXRvciwgbGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlUG9pbnQgPSBFZGl0b3IuYmVmb3JlKGVkaXRvciwgbGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRQb2ludCA9IEVkaXRvci5zdGFydChlZGl0b3IsIGxpc3RJdGVtUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFBvaW50ID0gRWRpdG9yLmVuZChlZGl0b3IsIGxpc3RJdGVtUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzSW5GaXJzdENoaWxkID0gIWlzTGlzdE5lc3RlZChlZGl0b3IsIGxpc3RQYXRoKSAmJiBUaGVRdWVyaWVzLmlzRmlyc3RDaGlsZChsaXN0SXRlbVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0byA9IGlzSW5GaXJzdENoaWxkID8gbGlzdFBhdGggOiBQYXRoLm5leHQoUGF0aC5wYXJlbnQoYmVmb3JlUG9pbnQucGF0aCkpO1xuXG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZU5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXQ6IEVkaXRvci5yYW5nZShlZGl0b3IsIHN0YXJ0UG9pbnQsIGVuZFBvaW50KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gbGlzdEl0ZW1Ob2RlLmNoaWxkcmVuLmluY2x1ZGVzKG5vZGUgYXMgYW55KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZWxldGUoZWRpdG9yLCB7IGF0OiBiZWZvcmVQYXRoUmVmLnVucmVmKCkgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0luRmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlQmFja3dhcmQodW5pdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGRlcHJlY2F0ZWRcbiAgICAgICAgICAgIGlmICghaXNMaXN0TmVzdGVkKGVkaXRvciwgbGlzdFBhdGgpICYmIFRoZVF1ZXJpZXMuaXNGaXJzdENoaWxkKGxpc3RJdGVtUGF0aCkpIHtcbiAgICAgICAgICAgICAgICB1bndyYXBMaXN0KGVkaXRvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGVsZXRlQmFja3dhcmQodW5pdCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pbnNlcnRGcmFnbWVudERhdGEgPSBhc3luYyAoZGF0YTogRGF0YVRyYW5zZmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gYXdhaXQgZXh0cmFjdEZyYWdtZW50KGRhdGEpO1xuXG4gICAgICAgIGlmIChmcmFnbWVudCkge1xuICAgICAgICAgICAgY29uc3QgYWJvdmVFbnRyeSA9IEVkaXRvci5hYm92ZShlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG4pICYmIG4udHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGdldExpc3RJdGVtRW50cnkoZWRpdG9yLCB7fSk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgZnJhZ21lbnQubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgICAgICAgaXNMaXN0KGZyYWdtZW50WzBdIGFzIEVsZW1lbnQpICYmXG4gICAgICAgICAgICAgICAgYWJvdmVFbnRyeSAmJlxuICAgICAgICAgICAgICAgICFpc1NpbmdsZUxpc3RJdGVtKGZyYWdtZW50WzBdKSAmJlxuICAgICAgICAgICAgICAgIGhhc1N0YWJsZUxpc3RJdGVtKHJlcy5saXN0SXRlbVswXSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGluc2VydExpc3REYXRhKGVkaXRvciwgeyBmcm9tTGlzdDogZnJhZ21lbnRbMF0gYXMgRWxlbWVudCwgdG9MaXN0SXRlbUVudHJ5OiBhYm92ZUVudHJ5IH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnNlcnRGcmFnbWVudERhdGEoZGF0YSk7XG4gICAgfTtcblxuICAgIGVkaXRvci5vbktleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgaXNDb250aW51ZSA9ICFvbktleURvd25MaXN0KGV2ZW50LCBlZGl0b3IpO1xuICAgICAgICBpZiAoaXNDb250aW51ZSkge1xuICAgICAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBlZGl0b3Iubm9ybWFsaXplTm9kZSA9IGdldExpc3ROb3JtYWxpemVyKGVkaXRvciwgeyB2YWxpZExpQ2hpbGRyZW5UeXBlczogdmFsaWRMaUNoaWxkcmVuVHlwZXMgfSk7XG5cbiAgICBlZGl0b3IucmVuZGVyRWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiBUaGVOdW1iZXJlZExpc3Q7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCkge1xuICAgICAgICAgICAgcmV0dXJuIFRoZUJ1bGxldGVkTGlzdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBUaGVMaXN0SXRlbTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmNvbnN0IGxpc3RPcHRpb25zID0ge1xuICAgIHZhbGlkTGlDaGlsZHJlblR5cGVzOiBbRWxlbWVudEtpbmRzLmltYWdlXSxcbiAgICBhbGxvd1BhcmVudFR5cGVzOiBbRWxlbWVudEtpbmRzLmxpc3RJdGVtLCBFbGVtZW50S2luZHMudGFibGVDZWxsLCBFbGVtZW50S2luZHMuYmxvY2txdW90ZV1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVMaXN0UGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeTxXaXRoTGlzdE9wdGlvbnM+KHtcbiAgICBrZXk6IFBsdWdpbktleXMubGlzdCxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoTGlzdCxcbiAgICBwbHVnaW5zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogUGx1Z2luS2V5cy5udW1iZXJlZExpc3QsXG4gICAgICAgICAgICBvcHRpb25zOiBsaXN0T3B0aW9uc1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFBsdWdpbktleXMuYnVsbGV0ZWRMaXN0LFxuICAgICAgICAgICAgb3B0aW9uczogbGlzdE9wdGlvbnNcbiAgICAgICAgfVxuICAgIF0sXG4gICAgbmVzdGVkU3RydWN0dXJlQnlLZXk6IHtcbiAgICAgICAgW0VsZW1lbnRLaW5kcy5idWxsZXRlZExpc3RdOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgIFtFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0XTogRWxlbWVudEtpbmRzLmxpc3RJdGVtXG4gICAgfSxcbiAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0LFxuICAgICAgICAgICAgaWNvbjogJ2xpc3Qtb3JkZXJlZCcsXG4gICAgICAgICAgICBuYW1lOiAn5pyJ5bqP5YiX6KGoJyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0KSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IExpc3RFZGl0b3IuaXNBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0KVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsXG4gICAgICAgICAgICBpY29uOiAnbGlzdC1idWxsZXQnLFxuICAgICAgICAgICAgbmFtZTogJ+aXoOW6j+WIl+ihqCcsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTGlzdEVkaXRvci50b2dnbGVMaXN0KGVkaXRvciwgRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBMaXN0RWRpdG9yLmlzQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdClcbiAgICAgICAgfVxuICAgIF0sXG4gICAgbWVudUl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCxcbiAgICAgICAgICAgIGtleXdvcmRzOiAneXhsYix5b3V4dWxpZWJpYW8sbnVtYmVyZWQgbGlzdCxudW1iZXJlZGxpc3Qs5pyJ5bqP5YiX6KGoJyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0KSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IExpc3RFZGl0b3IuaXNBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0KSxcbiAgICAgICAgICAgIHR5cGU6IFRoZVBsdWdpbk1lbnVJdGVtVHlwZS5pY29uLFxuICAgICAgICAgICAgbmFtZTogJ+acieW6j+WIl+ihqCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ+aPkuWFpeacieW6j+WIl+ihqCcsXG4gICAgICAgICAgICBkaXNwbGF5S2V5OiAnL3l4bGInLFxuICAgICAgICAgICAgaWNvbjogJ2xpc3Qtb3JkZXJlZCcsXG4gICAgICAgICAgICBtZW51SWNvbjogUGx1Z2luTWVudUljb25zLm51bWJlcmVkTGlzdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsXG4gICAgICAgICAgICBrZXl3b3JkczogJ3d4bGIsd3V4dWxpZWJpYW8sYnVsbGV0ZWRsaXN0LGJ1bGxldGVkIGxpc3Qs5peg5bqP5YiX6KGoJyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IExpc3RFZGl0b3IuaXNBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KSxcbiAgICAgICAgICAgIHR5cGU6IFRoZVBsdWdpbk1lbnVJdGVtVHlwZS5pY29uLFxuICAgICAgICAgICAgbmFtZTogJ+aXoOW6j+WIl+ihqCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ+aPkuWFpeaXoOW6j+WIl+ihqCcsXG4gICAgICAgICAgICBkaXNwbGF5S2V5OiAnL3d4bGInLFxuICAgICAgICAgICAgaWNvbjogJ2xpc3QtYnVsbGV0JyxcbiAgICAgICAgICAgIG1lbnVJY29uOiBQbHVnaW5NZW51SWNvbnMuYnVsbGV0ZWRMaXN0XG4gICAgICAgIH1cbiAgICBdLFxuICAgIG9wdGlvbnM6IGxpc3RPcHRpb25zXG59KTtcbiJdfQ==
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L2xpc3QucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFD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QUFJO1lBQ2hDLElBQUksRUFBRSxNQUFNO1lBQ1osWUFBWSxFQUFFLGVBQWU7WUFDN0IsV0FBVyxFQUFFLFFBQVE7WUFDckIsdUJBQXVCLEVBQUUsbUJBQW1CO1lBQzVDLFVBQVUsRUFBRSxPQUFPO1lBQ25CLElBQUksRUFBRSxhQUFhO1lBQ25CLFFBQVEsRUFBRSxlQUFlLENBQUMsWUFBWTtTQUN6QztLQUNKO0lBQ0QsT0FBTyxFQUFFLFdBQVc7Q0FDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIEVkaXRvciwgRWxlbWVudCwgTm9kZSwgUGF0aCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IE9yaWdpbkV2ZW50IH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIFBsdWdpbk1lbnVJY29ucywgVGhlUGx1Z2luTWVudUl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnksIGdldFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFBsdWdpbktleXMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZXh0cmFjdEZyYWdtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvZnJhZ21lbnQnO1xuaW1wb3J0IHsgVGhlQnVsbGV0ZWRMaXN0IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1bGxldGVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpc3RJdGVtIH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTnVtYmVyZWRMaXN0IH0gZnJvbSAnLi9jb21wb25lbnRzL251bWJlcmVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RFZGl0b3IgfSBmcm9tICcuL2xpc3QuZWRpdG9yJztcbmltcG9ydCB7IGdldExpc3ROb3JtYWxpemVyIH0gZnJvbSAnLi9ub3JtYWxpemVycy9nZXQtbGlzdC1ub3JtYWxpemVyJztcbmltcG9ydCB7IG9uS2V5RG93bkxpc3QgfSBmcm9tICcuL29uLWtleS1kb3duLWxpc3QnO1xuaW1wb3J0IHsgZ2V0TGlzdEl0ZW1FbnRyeSB9IGZyb20gJy4vcXVlcmllcy9nZXQtbGlzdC1pdGVtLWVudHJ5JztcbmltcG9ydCB7IGdldExpc3RUeXBlcyB9IGZyb20gJy4vcXVlcmllcy9nZXQtbGlzdC10eXBlcyc7XG5pbXBvcnQgeyBnZXRTdGFydExpc3RJdGVtIH0gZnJvbSAnLi9xdWVyaWVzL2dldC1zdGFydC1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgaGFzTGlzdEluTGlzdEl0ZW0sIGhhc1N0YWJsZUxpc3RJbkxpc3RJdGVtLCBoYXNTdGFibGVMaXN0SXRlbSB9IGZyb20gJy4vcXVlcmllcy9oYXMtbGlzdC1pbi1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgaXNJbkxpc3QgfSBmcm9tICcuL3F1ZXJpZXMvaXMtaW4tbGlzdCc7XG5pbXBvcnQgeyBpc0xpc3QgfSBmcm9tICcuL3F1ZXJpZXMvaXMtbGlzdCc7XG5pbXBvcnQgeyBpc0xpc3ROZXN0ZWQgfSBmcm9tICcuL3F1ZXJpZXMvaXMtbGlzdC1uZXN0ZWQnO1xuaW1wb3J0IHsgaXNTZWxlY3Rpb25BdExpc3RJdGVtU3RhcnQgfSBmcm9tICcuL3F1ZXJpZXMvaXMtc2VsZWN0aW9uLWF0LWxpc3QtaXRlbS1zdGFydCc7XG5pbXBvcnQgeyBpc1NlbGVjdGlvbkluU2FtZUxpc3RJdGVtIH0gZnJvbSAnLi9xdWVyaWVzL2lzLXNlbGVjdGlvbi1pbi1zYW1lLWxpc3QtaXRlbSc7XG5pbXBvcnQgeyBpc1NpbmdsZUxpc3RJdGVtIH0gZnJvbSAnLi9xdWVyaWVzL2lzLXNpbmdsZS1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgaW5zZXJ0TGlzdERhdGEgfSBmcm9tICcuL3RyYW5zZm9ybXMvaW5zZXJ0LWxpc3QtZGF0YSc7XG5pbXBvcnQgeyBpbnNlcnRMaXN0SXRlbSB9IGZyb20gJy4vdHJhbnNmb3Jtcy9pbnNlcnQtbGlzdC1pdGVtJztcbmltcG9ydCB7IG1vdmVMaXN0SXRlbVN1Ymxpc3RJdGVtc1RvTGlzdEl0ZW1TdWJsaXN0IH0gZnJvbSAnLi90cmFuc2Zvcm1zL21vdmUtbGlzdC1pdGVtLXN1Ymxpc3QtaXRlbXMtdG8tbGlzdC1pdGVtLXN1Ymxpc3QnO1xuaW1wb3J0IHsgbW92ZUxpc3RJdGVtVXAgfSBmcm9tICcuL3RyYW5zZm9ybXMvbW92ZS1saXN0LWl0ZW0tdXAnO1xuaW1wb3J0IHsgdW53cmFwTGlzdCB9IGZyb20gJy4vdHJhbnNmb3Jtcy91bndyYXAtbGlzdCc7XG5pbXBvcnQgeyBXaXRoTGlzdE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHNldENsaXBib2FyZERhdGFCeURvbSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhMaXN0ID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgaW5zZXJ0QnJlYWssIGRlbGV0ZUJhY2t3YXJkLCBvbktleWRvd24sIGluc2VydEZyYWdtZW50RGF0YSwgc2V0RnJhZ21lbnREYXRhLCByZW5kZXJFbGVtZW50IH0gPSBlZGl0b3I7XG5cbiAgICBjb25zdCB2YWxpZExpQ2hpbGRyZW5UeXBlcyA9IGdldFBsdWdpbk9wdGlvbnM8V2l0aExpc3RPcHRpb25zPihlZGl0b3IsIFBsdWdpbktleXMubGlzdCk/LnZhbGlkTGlDaGlsZHJlblR5cGVzID8/IFtdO1xuXG4gICAgY29uc3QgcmVzZXRCbG9ja1R5cGVzTGlzdFJ1bGUgPSB7XG4gICAgICAgIHR5cGVzOiBbRWxlbWVudEtpbmRzLmxpc3RJdGVtXSxcbiAgICAgICAgZGVmYXVsdFR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsXG4gICAgICAgIG9uUmVzZXQ6IChfZWRpdG9yOiBFZGl0b3IpID0+IHVud3JhcExpc3QoX2VkaXRvcilcbiAgICB9O1xuXG4gICAgZWRpdG9yLmluc2VydEJyZWFrID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBub2RlID0gVGhlUXVlcmllcy5hbmNob3JCbG9jayhlZGl0b3IpO1xuXG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgaW5zZXJ0QnJlYWsoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzVm9pZCA9IEVkaXRvci5pc1ZvaWQoZWRpdG9yLCBub2RlKTtcbiAgICAgICAgaWYgKGlzVm9pZCkge1xuICAgICAgICAgICAgaW5zZXJ0QnJlYWsoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsaXN0RW50cnkgPSBnZXRMaXN0SXRlbUVudHJ5KGVkaXRvciwge30pO1xuICAgICAgICBpZiAobGlzdEVudHJ5KSB7XG4gICAgICAgICAgICBsZXQgbW92ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCB7IGxpc3QsIGxpc3RJdGVtIH0gPSBsaXN0RW50cnk7XG4gICAgICAgICAgICBjb25zdCBbbGlzdEl0ZW1Ob2RlLCBsaXN0SXRlbVBhdGhdID0gbGlzdEl0ZW07XG4gICAgICAgICAgICBjb25zdCBjdXJzb3IgPSBlZGl0b3Iuc2VsZWN0aW9uLmZvY3VzO1xuICAgICAgICAgICAgY29uc3QgaXNTdGFydCA9IEVkaXRvci5pc1N0YXJ0KGVkaXRvciwgY3Vyc29yLCBsaXN0SXRlbVBhdGgpO1xuXG4gICAgICAgICAgICAvLyBkZXByZWNhdGVkXG4gICAgICAgICAgICAvLyDlpoLmnpzmnInlrZDnuqdcbiAgICAgICAgICAgIGlmIChoYXNMaXN0SW5MaXN0SXRlbShsaXN0SXRlbU5vZGUpKSB7XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogSWYgc2VsZWN0aW9uIGlzIGF0IHRoZSBlbmQgb2YgbGksXG4gICAgICAgICAgICAgICAgICogaW5zZXJ0IGJlbG93IGxpIHdoZXJlIGNoaWxkcmVuIHdpbGwgYmUgbW92ZWQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgaWYgKEVkaXRvci5pc0VuZChlZGl0b3IsIGN1cnNvciwgbGlzdEl0ZW1QYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7IHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIGNoaWxkcmVuOiBbeyB0ZXh0OiAnJyB9XSB9XVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgYXQ6IFBhdGgubmV4dChsaXN0SXRlbVBhdGgpLCBzZWxlY3Q6IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIOWmguaenOmAieWMuuaYr+WcqGxpc3RJdGVt55qE5byA5aS077yM5YiZ5ZyobGlzdEl0ZW3kuIrmlrnmj5LlhaVcbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBpZiAoaXNTdGFydCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7IHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIGNoaWxkcmVuOiBbeyB0ZXh0OiAnJyB9XSB9XVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgYXQ6IGxpc3RJdGVtUGF0aCB9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyDlpoLmnpzpgInmi6nnmoRsaXN0SXRlbeS4uuepuuWImeWwhuWFtuWQkeS4iuenu+WKqFxuICAgICAgICAgICAgaWYgKGlzU3RhcnQgJiYgVGhlUXVlcmllcy5pc0Jsb2NrQWJvdmVFbXB0eShlZGl0b3IpKSB7XG4gICAgICAgICAgICAgICAgbW92ZWQgPSBtb3ZlTGlzdEl0ZW1VcChlZGl0b3IsIHsgbGlzdCwgbGlzdEl0ZW0gfSk7XG4gICAgICAgICAgICAgICAgaWYgKG1vdmVkKSByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGRpZFJlc2V0ID0gVGhlVHJhbnNmb3Jtcy5vbktleURvd25SZXNldEJsb2NrVHlwZSh7XG4gICAgICAgICAgICAgICAgcnVsZXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucmVzZXRCbG9ja1R5cGVzTGlzdFJ1bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVkaWNhdGU6ICgpID0+ICFtb3ZlZCAmJiBpc1N0YXJ0ICYmIFRoZVF1ZXJpZXMuaXNCbG9ja0Fib3ZlRW1wdHkoZWRpdG9yKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSkobnVsbCwgZWRpdG9yKTtcbiAgICAgICAgICAgIGlmIChkaWRSZXNldCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBBZGQgYSBuZXcgbGlzdCBpdGVtIGlmIHNlbGVjdGlvbiBpcyBpbiBhIExJU1RfSVRFTSA+IHAudHlwZS5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKCFtb3ZlZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydGVkID0gaW5zZXJ0TGlzdEl0ZW0oZWRpdG9yKTtcbiAgICAgICAgICAgICAgICBpZiAoaW5zZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluc2VydEJyZWFrKCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5zZXRGcmFnbWVudERhdGEgPSAoZGF0YTogRGF0YVRyYW5zZmVyLCBvcmlnaW5FdmVudD86IE9yaWdpbkV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IFtzdGFydF0gPSBFZGl0b3IuZWRnZXMoZWRpdG9yLCBzZWxlY3Rpb24pO1xuICAgICAgICBpZiAoaXNJbkxpc3QoZWRpdG9yLCBzdGFydCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50RGF0YSA9IGVkaXRvci5nZXRGcmFnbWVudCgpO1xuICAgICAgICAgICAgY29uc3QgZnJhZ21lbnRFbGVtZW50ID0gZnJhZ21lbnREYXRhWzBdIGFzIEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoZ2V0TGlzdFR5cGVzKCkuaW5jbHVkZXMoZnJhZ21lbnRFbGVtZW50LnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnROb2RlcyA9IGdldFN0YXJ0TGlzdEl0ZW0oW2ZyYWdtZW50RWxlbWVudC5jaGlsZHJlblswXV0gYXMgRWxlbWVudFtdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHN0YXJ0Tm9kZXMuY29uY2F0KChmcmFnbWVudEVsZW1lbnQuY2hpbGRyZW4gYXMgRWxlbWVudFtdKS5zbGljZSgxKSk7XG4gICAgICAgICAgICAgICAgbGV0IGZyYWdtZW50Tm9kZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZyYWdtZW50RWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdIGFzIE5vZGVbXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNTZWxlY3Rpb25JblNhbWVMaXN0SXRlbShlZGl0b3IpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIOS7heS7heWkjeWItuWIl+ihqOS4reeahOWGheWuuVxuICAgICAgICAgICAgICAgICAgICBmcmFnbWVudE5vZGVzID0gY2hpbGRyZW5bMF0uY2hpbGRyZW47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBmcmFnbWVudE5vZGVzLmNvbmNhdChmcmFnbWVudERhdGEuc2xpY2UoMSkpO1xuICAgICAgICAgICAgICAgIGlmIChmcmFnbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRDbGlwYm9hcmREYXRhQnlEb20oZWRpdG9yLCBmcmFnbWVudCBhcyBFbGVtZW50W10sIGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNldEZyYWdtZW50RGF0YShkYXRhLCBvcmlnaW5FdmVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5kZWxldGVCYWNrd2FyZCA9IHVuaXQgPT4ge1xuICAgICAgICBjb25zdCByZXMgPSBnZXRMaXN0SXRlbUVudHJ5KGVkaXRvciwge30pO1xuXG4gICAgICAgIGlmIChyZXMgJiYgaXNTZWxlY3Rpb25BdExpc3RJdGVtU3RhcnQoZWRpdG9yKSkge1xuICAgICAgICAgICAgY29uc3QgeyBsaXN0LCBsaXN0SXRlbSB9ID0gcmVzO1xuICAgICAgICAgICAgY29uc3QgWywgbGlzdFBhdGhdID0gbGlzdDtcbiAgICAgICAgICAgIGNvbnN0IFtsaXN0SXRlbU5vZGUsIGxpc3RJdGVtUGF0aF0gPSBsaXN0SXRlbTtcblxuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNMaXN0SXRlbVBhdGggPSBUaGVRdWVyaWVzLmdldFByZXZpb3VzUGF0aChsaXN0SXRlbVBhdGgpO1xuXG4gICAgICAgICAgICBpZiAocHJldmlvdXNMaXN0SXRlbVBhdGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVQb2ludCA9IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBsaXN0SXRlbVBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudFBhdGggPSBQYXRoLnBhcmVudChiZWZvcmVQb2ludC5wYXRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gTm9kZS5nZXQoZWRpdG9yLCBwYXJlbnRQYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQocGFyZW50Tm9kZSkgJiYgRWRpdG9yLmlzVm9pZChlZGl0b3IsIHBhcmVudE5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnVud3JhcE5vZGVzQnlUeXBlKGVkaXRvciwgW0VsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3RdLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy51bndyYXBOb2Rlc0J5VHlwZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5saXN0SXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocHJldmlvdXNMaXN0SXRlbVBhdGggJiYgaGFzU3RhYmxlTGlzdEluTGlzdEl0ZW0obGlzdEl0ZW1Ob2RlKSkge1xuICAgICAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZUJhY2t3YXJkKHVuaXQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldmlvdXNMaXN0SXRlbU5vZGVdID0gRWRpdG9yLm5vZGUoZWRpdG9yLCBwcmV2aW91c0xpc3RJdGVtUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIG1vdmVMaXN0SXRlbVN1Ymxpc3RJdGVtc1RvTGlzdEl0ZW1TdWJsaXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb21MaXN0SXRlbTogbGlzdEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9MaXN0SXRlbTogW3ByZXZpb3VzTGlzdEl0ZW1Ob2RlIGFzIEFuY2VzdG9yLCBwcmV2aW91c0xpc3RJdGVtUGF0aF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG1vdmUgbGlzdEl0ZW0gY2hpbGRyZW4gdG8gYmVmb3JlIGxpc3RJdGVtXG4gICAgICAgICAgICBpZiAobGlzdEl0ZW1Ob2RlLmNoaWxkcmVuLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVQYXRoUmVmID0gRWRpdG9yLnBhdGhSZWYoZWRpdG9yLCBsaXN0SXRlbVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVQb2ludCA9IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBsaXN0SXRlbVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydFBvaW50ID0gRWRpdG9yLnN0YXJ0KGVkaXRvciwgbGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSBFZGl0b3IuZW5kKGVkaXRvciwgbGlzdEl0ZW1QYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNJbkZpcnN0Q2hpbGQgPSAhaXNMaXN0TmVzdGVkKGVkaXRvciwgbGlzdFBhdGgpICYmIFRoZVF1ZXJpZXMuaXNGaXJzdENoaWxkKGxpc3RJdGVtUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvID0gaXNJbkZpcnN0Q2hpbGQgPyBsaXN0UGF0aCA6IFBhdGgubmV4dChQYXRoLnBhcmVudChiZWZvcmVQb2ludC5wYXRoKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogRWRpdG9yLnJhbmdlKGVkaXRvciwgc3RhcnRQb2ludCwgZW5kUG9pbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG8sXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBsaXN0SXRlbU5vZGUuY2hpbGRyZW4uaW5jbHVkZXMobm9kZSBhcyBhbnkpXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmRlbGV0ZShlZGl0b3IsIHsgYXQ6IGJlZm9yZVBhdGhSZWYudW5yZWYoKSB9KTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzSW5GaXJzdENoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGVCYWNrd2FyZCh1bml0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZGVwcmVjYXRlZFxuICAgICAgICAgICAgaWYgKCFpc0xpc3ROZXN0ZWQoZWRpdG9yLCBsaXN0UGF0aCkgJiYgVGhlUXVlcmllcy5pc0ZpcnN0Q2hpbGQobGlzdEl0ZW1QYXRoKSkge1xuICAgICAgICAgICAgICAgIHVud3JhcExpc3QoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkZWxldGVCYWNrd2FyZCh1bml0KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmluc2VydEZyYWdtZW50RGF0YSA9IGFzeW5jIChkYXRhOiBEYXRhVHJhbnNmZXIpID0+IHtcbiAgICAgICAgY29uc3QgZnJhZ21lbnQgPSBhd2FpdCBleHRyYWN0RnJhZ21lbnQoZGF0YSk7XG5cbiAgICAgICAgaWYgKGZyYWdtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBhYm92ZUVudHJ5ID0gRWRpdG9yLmFib3ZlKGVkaXRvciwge1xuICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIEVkaXRvci5pc0Jsb2NrKGVkaXRvciwgbikgJiYgbi50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gZ2V0TGlzdEl0ZW1FbnRyeShlZGl0b3IsIHt9KTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBmcmFnbWVudC5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgICAgICBpc0xpc3QoZnJhZ21lbnRbMF0gYXMgRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICBhYm92ZUVudHJ5ICYmXG4gICAgICAgICAgICAgICAgIWlzU2luZ2xlTGlzdEl0ZW0oZnJhZ21lbnRbMF0pICYmXG4gICAgICAgICAgICAgICAgaGFzU3RhYmxlTGlzdEl0ZW0ocmVzLmxpc3RJdGVtWzBdKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaW5zZXJ0TGlzdERhdGEoZWRpdG9yLCB7IGZyb21MaXN0OiBmcmFnbWVudFswXSBhcyBFbGVtZW50LCB0b0xpc3RJdGVtRW50cnk6IGFib3ZlRW50cnkgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluc2VydEZyYWdtZW50RGF0YShkYXRhKTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLm9uS2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBpc0NvbnRpbnVlID0gIW9uS2V5RG93bkxpc3QoZXZlbnQsIGVkaXRvcik7XG4gICAgICAgIGlmIChpc0NvbnRpbnVlKSB7XG4gICAgICAgICAgICBvbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGVkaXRvci5ub3JtYWxpemVOb2RlID0gZ2V0TGlzdE5vcm1hbGl6ZXIoZWRpdG9yLCB7IHZhbGlkTGlDaGlsZHJlblR5cGVzOiB2YWxpZExpQ2hpbGRyZW5UeXBlcyB9KTtcblxuICAgIGVkaXRvci5yZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCkge1xuICAgICAgICAgICAgcmV0dXJuIFRoZU51bWJlcmVkTGlzdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KSB7XG4gICAgICAgICAgICByZXR1cm4gVGhlQnVsbGV0ZWRMaXN0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5saXN0SXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFRoZUxpc3RJdGVtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZW5kZXJFbGVtZW50KGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gZWRpdG9yO1xufTtcblxuY29uc3QgbGlzdE9wdGlvbnMgPSB7XG4gICAgdmFsaWRMaUNoaWxkcmVuVHlwZXM6IFtFbGVtZW50S2luZHMuaW1hZ2VdLFxuICAgIGFsbG93UGFyZW50VHlwZXM6IFtFbGVtZW50S2luZHMubGlzdEl0ZW0sIEVsZW1lbnRLaW5kcy50YWJsZUNlbGwsIEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlXVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxpc3RQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PFdpdGhMaXN0T3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5saXN0LFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhMaXN0LFxuICAgIHBsdWdpbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBQbHVnaW5LZXlzLm51bWJlcmVkTGlzdCxcbiAgICAgICAgICAgIG9wdGlvbnM6IGxpc3RPcHRpb25zXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogUGx1Z2luS2V5cy5idWxsZXRlZExpc3QsXG4gICAgICAgICAgICBvcHRpb25zOiBsaXN0T3B0aW9uc1xuICAgICAgICB9XG4gICAgXSxcbiAgICBuZXN0ZWRTdHJ1Y3R1cmVCeUtleToge1xuICAgICAgICBbRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdF06IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgW0VsZW1lbnRLaW5kcy5udW1iZXJlZExpc3RdOiBFbGVtZW50S2luZHMubGlzdEl0ZW1cbiAgICB9LFxuICAgIHRvb2xiYXJJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsXG4gICAgICAgICAgICBpY29uOiAnbGlzdC1vcmRlcmVkJyxcbiAgICAgICAgICAgIG5hbWU6ICfmnInluo/liJfooagnLFxuICAgICAgICAgICAgdHJhbnNsYXRlS2V5OiAnb3JkZXJlZExpc3QnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IExpc3RFZGl0b3IudG9nZ2xlTGlzdChlZGl0b3IsIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gTGlzdEVkaXRvci5pc0FjdGl2ZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCxcbiAgICAgICAgICAgIGljb246ICdsaXN0LWJ1bGxldCcsXG4gICAgICAgICAgICBuYW1lOiAn5peg5bqP5YiX6KGoJyxcbiAgICAgICAgICAgIHRyYW5zbGF0ZUtleTogJ3Vub3JkZXJlZExpc3QnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IExpc3RFZGl0b3IudG9nZ2xlTGlzdChlZGl0b3IsIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gTGlzdEVkaXRvci5pc0FjdGl2ZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QpXG4gICAgICAgIH1cbiAgICBdLFxuICAgIG1lbnVJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsXG4gICAgICAgICAgICBrZXl3b3JkczpcbiAgICAgICAgICAgICAgICAneXhsYix5b3V4dWxpZWJpYW8sbnVtYmVyZWQgbGlzdCxudW1iZXJlZGxpc3Qs5pyJ5bqP5YiX6KGoLOacieW6j+a4heWWrizQvdGD0LzQtdGA0L7QstCw0L3QvdGL0Lkg0YHQv9C40YHQvixudW1tZXJpZXJ0ZSBsaXN0ZSzpoIbluo/ku5jjgY3jg6rjgrnjg4gs55Wq5Y+35LuY44GN44Oq44K544OILCcsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTGlzdEVkaXRvci50b2dnbGVMaXN0KGVkaXRvciwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBMaXN0RWRpdG9yLmlzQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCksXG4gICAgICAgICAgICB0eXBlOiBUaGVQbHVnaW5NZW51SXRlbVR5cGUuaWNvbixcbiAgICAgICAgICAgIG5hbWU6ICfmnInluo/liJfooagnLFxuICAgICAgICAgICAgdHJhbnNsYXRlS2V5OiAnb3JkZXJlZExpc3QnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICfmj5LlhaXmnInluo/liJfooagnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb25UcmFuc2xhdGVLZXk6ICdvcmRlcmVkTGlzdERlc2MnLFxuICAgICAgICAgICAgZGlzcGxheUtleTogJy95eGxiJyxcbiAgICAgICAgICAgIGljb246ICdsaXN0LW9yZGVyZWQnLFxuICAgICAgICAgICAgbWVudUljb246IFBsdWdpbk1lbnVJY29ucy5udW1iZXJlZExpc3RcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LFxuICAgICAgICAgICAga2V5d29yZHM6XG4gICAgICAgICAgICAgICAgJ3d4bGIsd3V4dWxpZWJpYW8sYnVsbGV0ZWRsaXN0LGJ1bGxldGVkIGxpc3Qs5peg5bqP5YiX6KGoLOeEoeW6j+a4heWWrizQvdC10YPQv9C+0YDRj9C00L7Rh9C10L3QvdGL0Lkg0YHQv9C40YHQvtC6LHVuZ2VvcmRuZXRlbiBsaXN0ZSzpoIbluo/jgarjgZfjg6rjgrnjg4gs55Wq5Y+344Gq44GX44Oq44K544OIJyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IExpc3RFZGl0b3IuaXNBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KSxcbiAgICAgICAgICAgIHR5cGU6IFRoZVBsdWdpbk1lbnVJdGVtVHlwZS5pY29uLFxuICAgICAgICAgICAgbmFtZTogJ+aXoOW6j+WIl+ihqCcsXG4gICAgICAgICAgICB0cmFuc2xhdGVLZXk6ICd1bm9yZGVyZWRMaXN0JyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAn5o+S5YWl5peg5bqP5YiX6KGoJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uVHJhbnNsYXRlS2V5OiAndW5vcmRlcmVkTGlzdERlc2MnLFxuICAgICAgICAgICAgZGlzcGxheUtleTogJy93eGxiJyxcbiAgICAgICAgICAgIGljb246ICdsaXN0LWJ1bGxldCcsXG4gICAgICAgICAgICBtZW51SWNvbjogUGx1Z2luTWVudUljb25zLmJ1bGxldGVkTGlzdFxuICAgICAgICB9XG4gICAgXSxcbiAgICBvcHRpb25zOiBsaXN0T3B0aW9uc1xufSk7XG4iXX0=
|
|
@@ -70,6 +70,7 @@ export const createMarkPlugin = createPluginFactory({
|
|
|
70
70
|
key: MarkTypes.bold,
|
|
71
71
|
icon: 'bold',
|
|
72
72
|
name: '加粗',
|
|
73
|
+
translateKey: 'bold',
|
|
73
74
|
shortcutKey: `${CONTROL_KEY}+B`,
|
|
74
75
|
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.bold),
|
|
75
76
|
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.bold)
|
|
@@ -78,6 +79,7 @@ export const createMarkPlugin = createPluginFactory({
|
|
|
78
79
|
key: MarkTypes.italic,
|
|
79
80
|
icon: 'italic',
|
|
80
81
|
name: '斜体',
|
|
82
|
+
translateKey: 'italic',
|
|
81
83
|
shortcutKey: `${CONTROL_KEY}+I`,
|
|
82
84
|
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.italic),
|
|
83
85
|
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.italic)
|
|
@@ -86,6 +88,7 @@ export const createMarkPlugin = createPluginFactory({
|
|
|
86
88
|
key: MarkTypes.strike,
|
|
87
89
|
icon: 'strike',
|
|
88
90
|
name: '删除线',
|
|
91
|
+
translateKey: 'strike',
|
|
89
92
|
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.strike),
|
|
90
93
|
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.strike)
|
|
91
94
|
},
|
|
@@ -93,6 +96,7 @@ export const createMarkPlugin = createPluginFactory({
|
|
|
93
96
|
key: MarkTypes.underline,
|
|
94
97
|
icon: 'underline',
|
|
95
98
|
name: '下划线',
|
|
99
|
+
translateKey: 'underline',
|
|
96
100
|
shortcutKey: `${CONTROL_KEY}+U`,
|
|
97
101
|
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.underline),
|
|
98
102
|
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.underline)
|
|
@@ -102,4 +106,4 @@ export const createMarkPlugin = createPluginFactory({
|
|
|
102
106
|
disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
103
107
|
}
|
|
104
108
|
});
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tYXJrL21hcmsucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBZ0MsTUFBUyxFQUFLLEVBQUU7SUFDcEUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBRWpCLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQUUsWUFBWSxHQUFHLElBQUksRUFBRSxFQUFFO1FBQ2hELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM5QixVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUU7b0JBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbEIsS0FBSyxFQUFFLElBQUk7aUJBQ2QsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxL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QUksRUFBRSxLQUFLO1lBQ1gsV0FBVyxFQUFFLEdBQUcsV0FBVyxJQUFJO1lBQy9CLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUM7WUFDckUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUN6RTtLQUNKO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsb0JBQW9CLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsc0JBQXNCLENBQUM7S0FDeEU7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFJhbmdlLCBUZXh0LCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRElTQUJMRURfT1BFUkFURV9UWVBFUywgRWxlbWVudEtpbmRzLCBNYXJrVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQ09OVFJPTF9LRVkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBNYXJrRWRpdG9yIH0gZnJvbSAnLi9tYXJrLmVkaXRvcic7XG5cbmV4cG9ydCBjb25zdCB3aXRoTWFyayA9IDxUIGV4dGVuZHMgRWRpdG9yICYgTWFya0VkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgZSA9IGVkaXRvcjtcblxuICAgIGUucmVtb3ZlTWFyayA9IChrZXk6IHN0cmluZywgc2hvdWxkQ2hhbmdlID0gdHJ1ZSkgPT4ge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZTtcbiAgICAgICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgICAgICAgaWYgKFJhbmdlLmlzRXhwYW5kZWQoc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMudW5zZXROb2RlcyhlLCBrZXksIHtcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IFRleHQuaXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzcGxpdDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXJrcyA9IHsgLi4uKEVkaXRvci5tYXJrcyhlKSB8fCB7fSkgfTtcbiAgICAgICAgICAgICAgICBkZWxldGUgbWFya3Nba2V5XTtcbiAgICAgICAgICAgICAgICBlZGl0b3IubWFya3MgPSBtYXJrcztcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gRWRpdG9yLnN0cmluZyhlLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0ICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICBFZGl0b3Iuc2V0Tm9ybWFsaXppbmcoZWRpdG9yLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGUuaW5zZXJ0VGV4dCgnJyk7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5tYXJrcyA9IG1hcmtzO1xuICAgICAgICAgICAgICAgICAgICBFZGl0b3Iuc2V0Tm9ybWFsaXppbmcoZWRpdG9yLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnVuc2V0Tm9kZXMoZSwga2V5LCB7IGF0OiBzZWxlY3Rpb24uYW5jaG9yLnBhdGggfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzaG91bGRDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLm9uQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGUuYWRkTWFyayA9IChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuXG4gICAgICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGlmIChSYW5nZS5pc0V4cGFuZGVkKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGUsIHsgW2tleV06IHZhbHVlIH0sIHsgbWF0Y2g6IFRleHQuaXNUZXh0LCBzcGxpdDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFya3MgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLihFZGl0b3IubWFya3MoZSkgfHwge30pLFxuICAgICAgICAgICAgICAgICAgICBba2V5XTogdmFsdWVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGVkaXRvci5tYXJrcyA9IG1hcmtzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSBFZGl0b3Iuc3RyaW5nKGUsIHNlbGVjdGlvbi5hbmNob3IucGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHRleHQgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIEVkaXRvci5zZXROb3JtYWxpemluZyhlZGl0b3IsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgZS5pbnNlcnRUZXh0KCcnKTtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLm1hcmtzID0gbWFya3M7XG4gICAgICAgICAgICAgICAgICAgIEVkaXRvci5zZXROb3JtYWxpemluZyhlZGl0b3IsIHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZSwgeyBba2V5XTogdmFsdWUgfSwgeyBhdDogc2VsZWN0aW9uLmFuY2hvci5wYXRoIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNYXJrUGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeSh7XG4gICAga2V5OiBQbHVnaW5LZXlzLm1hcmssXG4gICAgd2l0aE92ZXJyaWRlczogd2l0aE1hcmssXG4gICAgdG9vbGJhckl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTWFya1R5cGVzLmJvbGQsXG4gICAgICAgICAgICBpY29uOiAnYm9sZCcsXG4gICAgICAgICAgICBuYW1lOiAn5Yqg57KXJyxcbiAgICAgICAgICAgIHNob3J0Y3V0S2V5OiBgJHtDT05UUk9MX0tFWX0rQmAsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgTWFya1R5cGVzLmJvbGQpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gTWFya0VkaXRvci5pc01hcmtBY3RpdmUoZWRpdG9yLCBNYXJrVHlwZXMuYm9sZClcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNYXJrVHlwZXMuaXRhbGljLFxuICAgICAgICAgICAgaWNvbjogJ2l0YWxpYycsXG4gICAgICAgICAgICBuYW1lOiAn5pac5L2TJyxcbiAgICAgICAgICAgIHNob3J0Y3V0S2V5OiBgJHtDT05UUk9MX0tFWX0rSWAsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgTWFya1R5cGVzLml0YWxpYyksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBNYXJrRWRpdG9yLmlzTWFya0FjdGl2ZShlZGl0b3IsIE1hcmtUeXBlcy5pdGFsaWMpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTWFya1R5cGVzLnN0cmlrZSxcbiAgICAgICAgICAgIGljb246ICdzdHJpa2UnLFxuICAgICAgICAgICAgbmFtZTogJ+WIoOmZpOe6vycsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgTWFya1R5cGVzLnN0cmlrZSksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBNYXJrRWRpdG9yLmlzTWFya0FjdGl2ZShlZGl0b3IsIE1hcmtUeXBlcy5zdHJpa2UpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTWFya1R5cGVzLnVuZGVybGluZSxcbiAgICAgICAgICAgIGljb246ICd1bmRlcmxpbmUnLFxuICAgICAgICAgICAgbmFtZTogJ+S4i+WIkue6vycsXG4gICAgICAgICAgICBzaG9ydGN1dEtleTogYCR7Q09OVFJPTF9LRVl9K1VgLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IE1hcmtFZGl0b3IudG9nZ2xlTWFyayhlZGl0b3IsIE1hcmtUeXBlcy51bmRlcmxpbmUpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gTWFya0VkaXRvci5pc01hcmtBY3RpdmUoZWRpdG9yLCBNYXJrVHlwZXMudW5kZXJsaW5lKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBvcHRpb25zOiB7XG4gICAgICAgIGRpc2FibGVkT3BlcmF0ZVR5cGVzOiBbRWxlbWVudEtpbmRzLmltYWdlLCAuLi5ESVNBQkxFRF9PUEVSQVRFX1RZUEVTXVxuICAgIH1cbn0pO1xuIl19
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9tYXJrL21hcmsucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBZ0MsTUFBUyxFQUFLLEVBQUU7SUFDcEUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBRWpCLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQUUsWUFBWSxHQUFHLElBQUksRUFBRSxFQUFFO1FBQ2hELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM5QixVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUU7b0JBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbEIsS0FBSyxFQUFFLElBQUk7aUJBQ2QsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDZCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDckMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDakIsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ3JCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN4QyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDakUsQ0FBQztnQkFDRCxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNmLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVLEVBQUUsRUFBRTtRQUNwQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRTdCLElBQUksU0FBUyxFQUFFLENBQUM7WUFDWixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbEYsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sS0FBSyxHQUFHO29CQUNWLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDMUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO2lCQUNmLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JELElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUNkLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNyQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNqQixNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDckIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3hDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RSxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixPQUFPLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDO0lBQ2hELEdBQUcsRUFBRSxVQUFVLENBQUMsSUFBSTtJQUNwQixhQUFhLEVBQUUsUUFBUTtJQUN2QixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNuQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxJQUFJO1lBQ1YsWUFBWSxFQUFFLE1BQU07WUFDcEIsV0FBVyxFQUFFLEdBQUcsV0FBVyxJQUFJO1lBQy9CLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDaEUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQztTQUNwRTtRQUNEO1lBQ0ksR0FBRyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3JCLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLElBQUk7WUFDVixZQUFZLEVBQUUsUUFBUTtZQUN0QixXQUFXLEVBQUUsR0FBRyxXQUFXLElBQUk7WUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUNsRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDO1NBQ3RFO1FBQ0Q7WUFDSSxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDckIsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsS0FBSztZQUNYLFlBQVksRUFBRSxRQUFRO1lBQ3RCLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDbEUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQztTQUN0RTtRQUNEO1lBQ0ksR0FBRyxFQUFFLFNBQVMsQ0FBQyxTQUFTO1lBQ3hCLElBQUksRUFBRSxXQUFXO1lBQ2pCLElBQUksRUFBRSxLQUFLO1lBQ1gsWUFBWSxFQUFFLFdBQVc7WUFDekIsV0FBVyxFQUFFLEdBQUcsV0FBVyxJQUFJO1lBQy9CLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUM7WUFDckUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUN6RTtLQUNKO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsb0JBQW9CLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsc0JBQXNCLENBQUM7S0FDeEU7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFJhbmdlLCBUZXh0LCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRElTQUJMRURfT1BFUkFURV9UWVBFUywgRWxlbWVudEtpbmRzLCBNYXJrVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGx1Z2luS2V5cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlUGx1Z2luRmFjdG9yeSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQ09OVFJPTF9LRVkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBNYXJrRWRpdG9yIH0gZnJvbSAnLi9tYXJrLmVkaXRvcic7XG5cbmV4cG9ydCBjb25zdCB3aXRoTWFyayA9IDxUIGV4dGVuZHMgRWRpdG9yICYgTWFya0VkaXRvcj4oZWRpdG9yOiBUKTogVCA9PiB7XG4gICAgY29uc3QgZSA9IGVkaXRvcjtcblxuICAgIGUucmVtb3ZlTWFyayA9IChrZXk6IHN0cmluZywgc2hvdWxkQ2hhbmdlID0gdHJ1ZSkgPT4ge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZTtcbiAgICAgICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgICAgICAgaWYgKFJhbmdlLmlzRXhwYW5kZWQoc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMudW5zZXROb2RlcyhlLCBrZXksIHtcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IFRleHQuaXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICBzcGxpdDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXJrcyA9IHsgLi4uKEVkaXRvci5tYXJrcyhlKSB8fCB7fSkgfTtcbiAgICAgICAgICAgICAgICBkZWxldGUgbWFya3Nba2V5XTtcbiAgICAgICAgICAgICAgICBlZGl0b3IubWFya3MgPSBtYXJrcztcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gRWRpdG9yLnN0cmluZyhlLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0ICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICBFZGl0b3Iuc2V0Tm9ybWFsaXppbmcoZWRpdG9yLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGUuaW5zZXJ0VGV4dCgnJyk7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5tYXJrcyA9IG1hcmtzO1xuICAgICAgICAgICAgICAgICAgICBFZGl0b3Iuc2V0Tm9ybWFsaXppbmcoZWRpdG9yLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnVuc2V0Tm9kZXMoZSwga2V5LCB7IGF0OiBzZWxlY3Rpb24uYW5jaG9yLnBhdGggfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzaG91bGRDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLm9uQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGUuYWRkTWFyayA9IChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yO1xuXG4gICAgICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGlmIChSYW5nZS5pc0V4cGFuZGVkKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGUsIHsgW2tleV06IHZhbHVlIH0sIHsgbWF0Y2g6IFRleHQuaXNUZXh0LCBzcGxpdDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFya3MgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLihFZGl0b3IubWFya3MoZSkgfHwge30pLFxuICAgICAgICAgICAgICAgICAgICBba2V5XTogdmFsdWVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGVkaXRvci5tYXJrcyA9IG1hcmtzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSBFZGl0b3Iuc3RyaW5nKGUsIHNlbGVjdGlvbi5hbmNob3IucGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHRleHQgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIEVkaXRvci5zZXROb3JtYWxpemluZyhlZGl0b3IsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgZS5pbnNlcnRUZXh0KCcnKTtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLm1hcmtzID0gbWFya3M7XG4gICAgICAgICAgICAgICAgICAgIEVkaXRvci5zZXROb3JtYWxpemluZyhlZGl0b3IsIHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZSwgeyBba2V5XTogdmFsdWUgfSwgeyBhdDogc2VsZWN0aW9uLmFuY2hvci5wYXRoIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNYXJrUGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeSh7XG4gICAga2V5OiBQbHVnaW5LZXlzLm1hcmssXG4gICAgd2l0aE92ZXJyaWRlczogd2l0aE1hcmssXG4gICAgdG9vbGJhckl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTWFya1R5cGVzLmJvbGQsXG4gICAgICAgICAgICBpY29uOiAnYm9sZCcsXG4gICAgICAgICAgICBuYW1lOiAn5Yqg57KXJyxcbiAgICAgICAgICAgIHRyYW5zbGF0ZUtleTogJ2JvbGQnLFxuICAgICAgICAgICAgc2hvcnRjdXRLZXk6IGAke0NPTlRST0xfS0VZfStCYCxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBNYXJrRWRpdG9yLnRvZ2dsZU1hcmsoZWRpdG9yLCBNYXJrVHlwZXMuYm9sZCksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBNYXJrRWRpdG9yLmlzTWFya0FjdGl2ZShlZGl0b3IsIE1hcmtUeXBlcy5ib2xkKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgICAgICBpY29uOiAnaXRhbGljJyxcbiAgICAgICAgICAgIG5hbWU6ICfmlpzkvZMnLFxuICAgICAgICAgICAgdHJhbnNsYXRlS2V5OiAnaXRhbGljJyxcbiAgICAgICAgICAgIHNob3J0Y3V0S2V5OiBgJHtDT05UUk9MX0tFWX0rSWAsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgTWFya1R5cGVzLml0YWxpYyksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBNYXJrRWRpdG9yLmlzTWFya0FjdGl2ZShlZGl0b3IsIE1hcmtUeXBlcy5pdGFsaWMpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTWFya1R5cGVzLnN0cmlrZSxcbiAgICAgICAgICAgIGljb246ICdzdHJpa2UnLFxuICAgICAgICAgICAgbmFtZTogJ+WIoOmZpOe6vycsXG4gICAgICAgICAgICB0cmFuc2xhdGVLZXk6ICdzdHJpa2UnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IE1hcmtFZGl0b3IudG9nZ2xlTWFyayhlZGl0b3IsIE1hcmtUeXBlcy5zdHJpa2UpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gTWFya0VkaXRvci5pc01hcmtBY3RpdmUoZWRpdG9yLCBNYXJrVHlwZXMuc3RyaWtlKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IE1hcmtUeXBlcy51bmRlcmxpbmUsXG4gICAgICAgICAgICBpY29uOiAndW5kZXJsaW5lJyxcbiAgICAgICAgICAgIG5hbWU6ICfkuIvliJLnur8nLFxuICAgICAgICAgICAgdHJhbnNsYXRlS2V5OiAndW5kZXJsaW5lJyxcbiAgICAgICAgICAgIHNob3J0Y3V0S2V5OiBgJHtDT05UUk9MX0tFWX0rVWAsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gTWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgTWFya1R5cGVzLnVuZGVybGluZSksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBNYXJrRWRpdG9yLmlzTWFya0FjdGl2ZShlZGl0b3IsIE1hcmtUeXBlcy51bmRlcmxpbmUpXG4gICAgICAgIH1cbiAgICBdLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZGlzYWJsZWRPcGVyYXRlVHlwZXM6IFtFbGVtZW50S2luZHMuaW1hZ2UsIC4uLkRJU0FCTEVEX09QRVJBVEVfVFlQRVNdXG4gICAgfVxufSk7XG4iXX0=
|
|
@@ -77,6 +77,7 @@ export const createPaintFormatPlugin = createPluginFactory({
|
|
|
77
77
|
key: ToolbarActionTypes.undo,
|
|
78
78
|
icon: 'undo',
|
|
79
79
|
name: '撤销',
|
|
80
|
+
translateKey: 'undo',
|
|
80
81
|
shortcutKey: `${CONTROL_KEY}+Z`,
|
|
81
82
|
execute: (editor) => editor.undo()
|
|
82
83
|
},
|
|
@@ -84,6 +85,7 @@ export const createPaintFormatPlugin = createPluginFactory({
|
|
|
84
85
|
key: ToolbarActionTypes.redo,
|
|
85
86
|
icon: 'redo',
|
|
86
87
|
name: '重做',
|
|
88
|
+
translateKey: 'redo',
|
|
87
89
|
shortcutKey: `${CONTROL_KEY}+Shift+Z`,
|
|
88
90
|
execute: (editor) => editor.redo()
|
|
89
91
|
},
|
|
@@ -91,6 +93,7 @@ export const createPaintFormatPlugin = createPluginFactory({
|
|
|
91
93
|
key: ToolbarActionTypes.paintformat,
|
|
92
94
|
icon: 'paintformat',
|
|
93
95
|
name: '格式刷',
|
|
96
|
+
translateKey: 'paintFormat',
|
|
94
97
|
execute: PaintFormatEditor.enableFormatBrush,
|
|
95
98
|
active: PaintFormatEditor.isActive
|
|
96
99
|
},
|
|
@@ -98,6 +101,7 @@ export const createPaintFormatPlugin = createPluginFactory({
|
|
|
98
101
|
key: ToolbarActionTypes.clean,
|
|
99
102
|
icon: 'clean',
|
|
100
103
|
name: '清除格式',
|
|
104
|
+
translateKey: 'cleanFormat',
|
|
101
105
|
execute: (editor) => {
|
|
102
106
|
const { selection } = editor;
|
|
103
107
|
if (!selection) {
|
|
@@ -123,4 +127,4 @@ export const createPaintFormatPlugin = createPluginFactory({
|
|
|
123
127
|
}
|
|
124
128
|
]
|
|
125
129
|
});
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtZm9ybWF0LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3BhaW50LWZvcm1hdC9wYWludC1mb3JtYXQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBYSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsV0FBVyxDQUFDLE1BQWlCLEVBQUUsS0FBbUM7UUFDOUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxD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QUU7Z0JBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDYixPQUFPO2dCQUNYLENBQUM7Z0JBRUQsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ2hDLE9BQU87Z0JBQ1gsQ0FBQztnQkFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDL0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDbkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ25DLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNuQyxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLFVBQVUsR0FBMkMsRUFBRSxDQUFDO29CQUM5RCxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUMzQixDQUFDLENBQUMsQ0FBQztvQkFDSCxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztZQUNMLENBQUM7U0FDSjtLQUNKO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVESVRPUl9UT19FTEVNRU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBNYXJrUHJvcHMsIE1hcmtUeXBlcywgVG9vbGJhckFjdGlvblR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFBsdWdpbktleXMsIFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBDT05UUk9MX0tFWSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vdGFibGUvdGFibGUuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IFBhaW50Rm9ybWF0RWRpdG9yID0ge1xuICAgIGZvcm1hdEJydXNoKGVkaXRvcjogVGhlRWRpdG9yLCBtYXJrczogeyBba2V5IGluIE1hcmtUeXBlc10/OiBhbnkgfSkge1xuICAgICAgICBjb25zdCBibG9jayA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2soZWRpdG9yKTtcbiAgICAgICAgaWYgKGJsb2NrICYmIFJhbmdlLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAvLyBUT0RPOjog5Zyo5pKk6ZSA5pe25pyJYnVnLCDkuLTml7bkvb/nlKh3aXRob3V0U2F2aW5n5aSE55CGXG4gICAgICAgICAgICBIaXN0b3J5RWRpdG9yLndpdGhvdXRTYXZpbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IFRoZUVkaXRvci5maW5kUGF0aChlZGl0b3IsIGJsb2NrKTtcbiAgICAgICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE1hcmtzKGVkaXRvciwgbWFya3MsIHBhdGgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE1hcmtzKGVkaXRvciwgbWFya3MpO1xuICAgICAgICB9XG4gICAgICAgIFBhaW50Rm9ybWF0RWRpdG9yLmNhbmNlbEZvcm1hdEJydXNoU3RhdHVzKGVkaXRvcik7XG4gICAgfSxcbiAgICBpc0FjdGl2ZShlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb25zdCByZXMgPSBjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cy5pc0FjdGl2ZTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9LFxuICAgIGVuYWJsZUZvcm1hdEJydXNoKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHRTZXJ2aWNlID0gZWRpdG9yLmluamVjdG9yLmdldChUaGVDb250ZXh0U2VydmljZSk7XG4gICAgICAgIGlmIChjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cy5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuIFBhaW50Rm9ybWF0RWRpdG9yLmNhbmNlbEZvcm1hdEJydXNoU3RhdHVzKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMgPSB7XG4gICAgICAgICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgIG1hcmtzOiBUaGVRdWVyaWVzLmdldFNlbGVjdGlvbk1hcmtzKGVkaXRvcilcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IEVESVRPUl9UT19FTEVNRU5ULmdldChlZGl0b3IpO1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BvaW50ZXItcGFpbnQnKTtcbiAgICAgICAgY29udGV4dFNlcnZpY2Uub25Nb3VzZVVwJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpKSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cy5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrczogeyBba2V5IGluIE1hcmtUeXBlc10/OiBhbnkgfSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBNYXJrUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtzW2tleV0gPSBjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cy5tYXJrc1trZXldIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKFRhYmxlRWRpdG9yLmZvcm1hdEJydXNoKGVkaXRvciwgbWFya3MpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBQYWludEZvcm1hdEVkaXRvci5jYW5jZWxGb3JtYXRCcnVzaFN0YXR1cyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFBhaW50Rm9ybWF0RWRpdG9yLmZvcm1hdEJydXNoKGVkaXRvciwgbWFya3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICBlZGl0b3Iub25DaGFuZ2UoKTtcbiAgICB9LFxuICAgIGNhbmNlbEZvcm1hdEJydXNoU3RhdHVzKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHRTZXJ2aWNlID0gZWRpdG9yLmluamVjdG9yLmdldChUaGVDb250ZXh0U2VydmljZSk7XG4gICAgICAgIGNvbnRleHRTZXJ2aWNlLnBhaW50Rm9ybWF0U3RhdHVzID0ge1xuICAgICAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgICAgICAgICAgbWFya3M6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBFRElUT1JfVE9fRUxFTUVOVC5nZXQoZWRpdG9yKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdwb2ludGVyLXBhaW50Jyk7XG4gICAgICAgIGVkaXRvci5vbkNoYW5nZSgpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQYWludEZvcm1hdFBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy5wYWludEZvcm1hdCxcbiAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUb29sYmFyQWN0aW9uVHlwZXMudW5kbyxcbiAgICAgICAgICAgIGljb246ICd1bmRvJyxcbiAgICAgICAgICAgIG5hbWU6ICfmkqTplIAnLFxuICAgICAgICAgICAgc2hvcnRjdXRLZXk6IGAke0NPTlRST0xfS0VZfStaYCxcbiAgICAgICAgICAgIGV4ZWN1dGU6IChlZGl0b3I6IFRoZUVkaXRvcikgPT4gZWRpdG9yLnVuZG8oKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5yZWRvLFxuICAgICAgICAgICAgaWNvbjogJ3JlZG8nLFxuICAgICAgICAgICAgbmFtZTogJ+mHjeWBmicsXG4gICAgICAgICAgICBzaG9ydGN1dEtleTogYCR7Q09OVFJPTF9LRVl9K1NoaWZ0K1pgLFxuICAgICAgICAgICAgZXhlY3V0ZTogKGVkaXRvcjogVGhlRWRpdG9yKSA9PiBlZGl0b3IucmVkbygpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVG9vbGJhckFjdGlvblR5cGVzLnBhaW50Zm9ybWF0LFxuICAgICAgICAgICAgaWNvbjogJ3BhaW50Zm9ybWF0JyxcbiAgICAgICAgICAgIG5hbWU6ICfmoLzlvI/liLcnLFxuICAgICAgICAgICAgZXhlY3V0ZTogUGFpbnRGb3JtYXRFZGl0b3IuZW5hYmxlRm9ybWF0QnJ1c2gsXG4gICAgICAgICAgICBhY3RpdmU6IFBhaW50Rm9ybWF0RWRpdG9yLmlzQWN0aXZlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVG9vbGJhckFjdGlvblR5cGVzLmNsZWFuLFxuICAgICAgICAgICAgaWNvbjogJ2NsZWFuJyxcbiAgICAgICAgICAgIG5hbWU6ICfmuIXpmaTmoLzlvI8nLFxuICAgICAgICAgICAgZXhlY3V0ZTogKGVkaXRvcjogVGhlRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgICAgICAgICBpZiAoIXNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFRhYmxlRWRpdG9yLmNsZWFyTWFyayhlZGl0b3IpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoUmFuZ2UuaXNDb2xsYXBzZWQoc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrcyA9IEVkaXRvci5tYXJrcyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtYXJrcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXRvci5yZW1vdmVNYXJrKGVkaXRvciwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2V0TWFya3M6IHsgW2tleSBpbiBNYXJrVHlwZXNdPzogbnVsbCB8IHN0cmluZyB9ID0ge307XG4gICAgICAgICAgICAgICAgICAgIE1hcmtQcm9wcy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1bnNldE1hcmtzW2tleV0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRNYXJrcyhlZGl0b3IsIHVuc2V0TWFya3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF1cbn0pO1xuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtZm9ybWF0LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3BhaW50LWZvcm1hdC9wYWludC1mb3JtYXQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBYSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsV0FBVyxDQUFDLE1BQWlCLEVBQUUsS0FBbUM7UUFDOUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQy9DLHVDQUF1QztZQUN2QyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ3JDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMvQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsUUFBUSxDQUFDLE1BQWlCO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztRQUN0RCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxNQUFpQjtRQUMvQixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlELElBQUksY0FBYyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVDLE9BQU8saUJBQWlCLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELGNBQWMsQ0FBQyxpQkFBaUIsR0FBRztZQUMvQixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1NBQzlDLENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsY0FBYyxDQUFDLFVBQVU7YUFDcEIsSUFBSSxDQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQWlCLENBQUMsQ0FBQyxFQUMxRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1Y7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDN0IsSUFBSSxjQUFjLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzlELE1BQU0sS0FBSyxHQUFpQyxFQUFFLENBQUM7Z0JBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQzFCLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDckUsQ0FBQztnQkFDRCxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3pDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNsRCxPQUFPO2dCQUNYLENBQUM7Z0JBQ0QsaUJBQWlCLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELHVCQUF1QixDQUFDLE1BQWlCO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsY0FBYyxDQUFDLGlCQUFpQixHQUFHO1lBQy9CLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLG1CQUFtQixDQUFDO0lBQ3ZELEdBQUcsRUFBRSxVQUFVLENBQUMsV0FBVztJQUMzQixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJO1lBQzVCLElBQUksRUFBRSxNQUFNO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixZQUFZLEVBQUUsTUFBTTtZQUNwQixXQUFXLEVBQUUsR0FBRyxXQUFXLElBQUk7WUFDL0IsT0FBTyxFQUFFLENBQUMsTUFBaUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtTQUNoRDtRQUNEO1lBQ0ksR0FBRyxFQUFFLGtCQUFrQixDQUFDLElBQUk7WUFDNUIsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsSUFBSTtZQUNWLFlBQVksRUFBRSxNQUFNO1lBQ3BCLFdBQVcsRUFBRSxHQUFHLFdBQVcsVUFBVTtZQUNyQyxPQUFPLEVBQUUsQ0FBQyxNQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1NBQ2hEO1FBQ0Q7WUFDSSxHQUFHLEVBQUUsa0JBQWtCLENBQUMsV0FBVztZQUNuQyxJQUFJLEVBQUUsYUFBYTtZQUNuQixJQUFJLEVBQUUsS0FBSztZQUNYLFlBQVksRUFBRSxhQUFhO1lBQzNCLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxpQkFBaUI7WUFDNUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7U0FDckM7UUFDRDtZQUNJLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO1lBQzdCLElBQUksRUFBRSxPQUFPO1lBQ2IsSUFBSSxFQUFFLE1BQU07WUFDWixZQUFZLEVBQUUsYUFBYTtZQUMzQixPQUFPLEVBQUUsQ0FBQyxNQUFpQixFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDYixPQUFPO2dCQUNYLENBQUM7Z0JBRUQsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ2hDLE9BQU87Z0JBQ1gsQ0FBQztnQkFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDL0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDbkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ25DLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNuQyxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLFVBQVUsR0FBMkMsRUFBRSxDQUFDO29CQUM5RCxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUMzQixDQUFDLENBQUMsQ0FBQztvQkFDSCxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztZQUNMLENBQUM7U0FDSjtLQUNKO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWRpdG9yLCBSYW5nZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVESVRPUl9UT19FTEVNRU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBNYXJrUHJvcHMsIE1hcmtUeXBlcywgVG9vbGJhckFjdGlvblR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFBsdWdpbktleXMsIFRoZUVkaXRvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBDT05UUk9MX0tFWSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vdGFibGUvdGFibGUuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IFBhaW50Rm9ybWF0RWRpdG9yID0ge1xuICAgIGZvcm1hdEJydXNoKGVkaXRvcjogVGhlRWRpdG9yLCBtYXJrczogeyBba2V5IGluIE1hcmtUeXBlc10/OiBhbnkgfSkge1xuICAgICAgICBjb25zdCBibG9jayA9IFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2soZWRpdG9yKTtcbiAgICAgICAgaWYgKGJsb2NrICYmIFJhbmdlLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAvLyBUT0RPOjog5Zyo5pKk6ZSA5pe25pyJYnVnLCDkuLTml7bkvb/nlKh3aXRob3V0U2F2aW5n5aSE55CGXG4gICAgICAgICAgICBIaXN0b3J5RWRpdG9yLndpdGhvdXRTYXZpbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IFRoZUVkaXRvci5maW5kUGF0aChlZGl0b3IsIGJsb2NrKTtcbiAgICAgICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE1hcmtzKGVkaXRvciwgbWFya3MsIHBhdGgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE1hcmtzKGVkaXRvciwgbWFya3MpO1xuICAgICAgICB9XG4gICAgICAgIFBhaW50Rm9ybWF0RWRpdG9yLmNhbmNlbEZvcm1hdEJydXNoU3RhdHVzKGVkaXRvcik7XG4gICAgfSxcbiAgICBpc0FjdGl2ZShlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb25zdCByZXMgPSBjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cy5pc0FjdGl2ZTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9LFxuICAgIGVuYWJsZUZvcm1hdEJydXNoKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHRTZXJ2aWNlID0gZWRpdG9yLmluamVjdG9yLmdldChUaGVDb250ZXh0U2VydmljZSk7XG4gICAgICAgIGlmIChjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cy5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuIFBhaW50Rm9ybWF0RWRpdG9yLmNhbmNlbEZvcm1hdEJydXNoU3RhdHVzKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMgPSB7XG4gICAgICAgICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgIG1hcmtzOiBUaGVRdWVyaWVzLmdldFNlbGVjdGlvbk1hcmtzKGVkaXRvcilcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IEVESVRPUl9UT19FTEVNRU5ULmdldChlZGl0b3IpO1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BvaW50ZXItcGFpbnQnKTtcbiAgICAgICAgY29udGV4dFNlcnZpY2Uub25Nb3VzZVVwJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpKSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cy5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrczogeyBba2V5IGluIE1hcmtUeXBlc10/OiBhbnkgfSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBNYXJrUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtzW2tleV0gPSBjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cy5tYXJrc1trZXldIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKFRhYmxlRWRpdG9yLmZvcm1hdEJydXNoKGVkaXRvciwgbWFya3MpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBQYWludEZvcm1hdEVkaXRvci5jYW5jZWxGb3JtYXRCcnVzaFN0YXR1cyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFBhaW50Rm9ybWF0RWRpdG9yLmZvcm1hdEJydXNoKGVkaXRvciwgbWFya3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICBlZGl0b3Iub25DaGFuZ2UoKTtcbiAgICB9LFxuICAgIGNhbmNlbEZvcm1hdEJydXNoU3RhdHVzKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHRTZXJ2aWNlID0gZWRpdG9yLmluamVjdG9yLmdldChUaGVDb250ZXh0U2VydmljZSk7XG4gICAgICAgIGNvbnRleHRTZXJ2aWNlLnBhaW50Rm9ybWF0U3RhdHVzID0ge1xuICAgICAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgICAgICAgICAgbWFya3M6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBFRElUT1JfVE9fRUxFTUVOVC5nZXQoZWRpdG9yKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdwb2ludGVyLXBhaW50Jyk7XG4gICAgICAgIGVkaXRvci5vbkNoYW5nZSgpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQYWludEZvcm1hdFBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy5wYWludEZvcm1hdCxcbiAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUb29sYmFyQWN0aW9uVHlwZXMudW5kbyxcbiAgICAgICAgICAgIGljb246ICd1bmRvJyxcbiAgICAgICAgICAgIG5hbWU6ICfmkqTplIAnLFxuICAgICAgICAgICAgdHJhbnNsYXRlS2V5OiAndW5kbycsXG4gICAgICAgICAgICBzaG9ydGN1dEtleTogYCR7Q09OVFJPTF9LRVl9K1pgLFxuICAgICAgICAgICAgZXhlY3V0ZTogKGVkaXRvcjogVGhlRWRpdG9yKSA9PiBlZGl0b3IudW5kbygpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVG9vbGJhckFjdGlvblR5cGVzLnJlZG8sXG4gICAgICAgICAgICBpY29uOiAncmVkbycsXG4gICAgICAgICAgICBuYW1lOiAn6YeN5YGaJyxcbiAgICAgICAgICAgIHRyYW5zbGF0ZUtleTogJ3JlZG8nLFxuICAgICAgICAgICAgc2hvcnRjdXRLZXk6IGAke0NPTlRST0xfS0VZfStTaGlmdCtaYCxcbiAgICAgICAgICAgIGV4ZWN1dGU6IChlZGl0b3I6IFRoZUVkaXRvcikgPT4gZWRpdG9yLnJlZG8oKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5wYWludGZvcm1hdCxcbiAgICAgICAgICAgIGljb246ICdwYWludGZvcm1hdCcsXG4gICAgICAgICAgICBuYW1lOiAn5qC85byP5Yi3JyxcbiAgICAgICAgICAgIHRyYW5zbGF0ZUtleTogJ3BhaW50Rm9ybWF0JyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IFBhaW50Rm9ybWF0RWRpdG9yLmVuYWJsZUZvcm1hdEJydXNoLFxuICAgICAgICAgICAgYWN0aXZlOiBQYWludEZvcm1hdEVkaXRvci5pc0FjdGl2ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5jbGVhbixcbiAgICAgICAgICAgIGljb246ICdjbGVhbicsXG4gICAgICAgICAgICBuYW1lOiAn5riF6Zmk5qC85byPJyxcbiAgICAgICAgICAgIHRyYW5zbGF0ZUtleTogJ2NsZWFuRm9ybWF0JyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IChlZGl0b3I6IFRoZUVkaXRvcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChUYWJsZUVkaXRvci5jbGVhck1hcmsoZWRpdG9yKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFJhbmdlLmlzQ29sbGFwc2VkKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya3MgPSBFZGl0b3IubWFya3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobWFya3MpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0b3IucmVtb3ZlTWFyayhlZGl0b3IsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNldE1hcmtzOiB7IFtrZXkgaW4gTWFya1R5cGVzXT86IG51bGwgfCBzdHJpbmcgfSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBNYXJrUHJvcHMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXRNYXJrc1trZXldID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoZWRpdG9yLCB1bnNldE1hcmtzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBdXG59KTtcbiJdfQ==
|