UNPKG

ng-cw-v12

Version:

Angular UI Component Library

89 lines 26.1 kB
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; import { createEditor, createToolbar } from '@wangeditor/editor'; import * as i0 from "@angular/core"; export class EditorComponent { constructor() { /** 编辑器模式 */ this.ncEditorMode = 'default'; /** 工具栏模式 */ this.ncToolbarMode = 'default'; /** 编辑器配置 */ this.ncEditorConfig = {}; /** 工具栏配置 */ this.ncToolbarConfig = {}; /** 初始化内容 */ this.ncHtml = '<p><br></p>'; /** 编辑器容器id */ this.ncDomId = 'nc-editor'; /** 编辑器加载完成事件 */ this.ncLoaded = new EventEmitter(); } ngAfterViewInit() { //默认工具栏配置 const toolbarConfig = { excludeKeys: ['group-video', 'insertImage'] }; //默认菜单栏和编辑器配置 const editorConfig = { //菜单栏配置 MENU_CONF: { uploadImage: { server: '', base64LimitSize: 10 * 1024 * 1024 } }, //编辑器配置 placeholder: '请输入内容...' }; this.editor = createEditor({ selector: `#${this.ncDomId}-editor`, html: this.ncHtml, config: Object.assign({}, editorConfig, this.ncEditorConfig), mode: this.ncEditorMode }); this.toolbar = createToolbar({ editor: this.editor, selector: `#${this.ncDomId}-toolbar`, config: Object.assign({}, toolbarConfig, this.ncToolbarConfig), mode: this.ncToolbarMode }); // console.log(Object.assign({}, editorConfig, this.ncEditorConfig)); // console.log(Object.assign({}, toolbarConfig, this.ncToolbarConfig)); // console.log(this.editor.getAllMenuKeys()); console.log(this.toolbar.getConfig().toolbarKeys); this.ncLoaded.emit({ editor: this.editor, toolbar: this.toolbar }); } ngOnDestroy() { this.editor.destroy(); this.toolbar.destroy(); } } EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: EditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: EditorComponent, selector: "nc-editor", inputs: { ncEditorMode: "ncEditorMode", ncToolbarMode: "ncToolbarMode", ncEditorConfig: "ncEditorConfig", ncToolbarConfig: "ncToolbarConfig", ncHtml: "ncHtml", ncDomId: "ncDomId" }, outputs: { ncLoaded: "ncLoaded" }, ngImport: i0, template: "<div class=\"editor\u2014wrapper\" [id]=\"ncDomId\">\n <div class=\"toolbar-container\" [id]=\"ncDomId + '-toolbar'\"><!-- \u5DE5\u5177\u680F --></div>\n <div class=\"editor-container\" [id]=\"ncDomId + '-editor'\"><!-- \u7F16\u8F91\u5668 --></div>\n</div>", styles: [".editor\\2014wrapper{border:1px solid #ccc;width:100%;height:100%;display:flex;flex-direction:column}.editor\\2014wrapper .toolbar-container{border-bottom:1px solid #ccc}.editor\\2014wrapper .editor-container{flex:1;overflow:auto}\n", ":root,:host{--w-e-textarea-bg-color: #fff;--w-e-textarea-color: #333;--w-e-textarea-border-color: #ccc;--w-e-textarea-slight-border-color: #e8e8e8;--w-e-textarea-slight-color: #d4d4d4;--w-e-textarea-slight-bg-color: #f5f2f0;--w-e-textarea-selected-border-color: #B4D5FF;--w-e-textarea-handler-bg-color: #4290f7;--w-e-toolbar-color: #595959;--w-e-toolbar-bg-color: #fff;--w-e-toolbar-active-color: #333;--w-e-toolbar-active-bg-color: #f1f1f1;--w-e-toolbar-disabled-color: #999;--w-e-toolbar-border-color: #e8e8e8;--w-e-modal-button-bg-color: #fafafa;--w-e-modal-button-border-color: #d9d9d9}.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;opacity:0;padding:5px 10px;position:absolute;text-align:center;top:40px;transition:opacity .6s;visibility:hidden;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after{border:5px solid transparent;border-bottom:5px solid var(--w-e-toolbar-active-color);content:\"\";opacity:0;position:absolute;top:30px;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:transparent;border-left-color:transparent;border-right-color:var(--w-e-toolbar-active-color);border-top-color:transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:\"tnum\";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{bottom:0!important;display:flex!important;flex-direction:column!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:fixed;right:0!important;top:0!important;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;font-family:monospace;padding:3px}.w-e-panel-content-color{list-style:none;text-align:left;width:230px}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);border-radius:3px;cursor:pointer;display:inline-block;padding:2px}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;height:17px;width:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{line-height:1.5;margin-bottom:5px;width:100%}.w-e-panel-content-color .clear svg{height:16px;margin-bottom:-4px;width:16px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);display:block;font-size:100%;line-height:1.5;margin:10px 0;padding:10px}.w-e-panel-content-emotion{font-size:20px;list-style:none;text-align:left;width:300px}.w-e-panel-content-emotion li{border-radius:3px;cursor:pointer;display:inline-block;padding:0 5px}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;display:block;height:1px}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);border-radius:4px;display:block;font-size:14px;padding:10px;text-indent:0}.w-e-text-container [data-slate-editor] .w-e-image-container{display:inline-block;margin:0 3px}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:hidden;position:relative}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);height:7px;position:absolute;width:7px}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;left:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;right:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:0;cursor:nesw-resize;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{bottom:0;cursor:nwse-resize;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover{box-shadow:none}.w-e-text-container [contenteditable=false] .w-e-image-container:hover{box-shadow:none}.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin-top:10px;overflow-x:auto;padding:10px;width:100%}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);line-height:1.5;min-width:30px;padding:3px 5px;text-align:left}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);font-weight:700;text-align:center}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;height:15px;padding:3px 5px;width:20px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-textarea-video-container{background-image:linear-gradient(45deg,#eee 25%,transparent 0,transparent 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0,#fff 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin:10px auto 0;padding:10px 0;text-align:center}.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;margin:.5em 0;overflow:auto;padding:1em;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help}\n"], encapsulation: i0.ViewEncapsulation.None }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: EditorComponent, decorators: [{ type: Component, args: [{ selector: 'nc-editor', templateUrl: './editor.component.html', styleUrls: [ './editor.component.less', '../../../node_modules/@wangeditor/editor/dist/css/style.css' ], encapsulation: ViewEncapsulation.None }] }], ctorParameters: function () { return []; }, propDecorators: { ncEditorMode: [{ type: Input }], ncToolbarMode: [{ type: Input }], ncEditorConfig: [{ type: Input }], ncToolbarConfig: [{ type: Input }], ncHtml: [{ type: Input }], ncDomId: [{ type: Input }], ncLoaded: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQXNELE1BQU0sb0JBQW9CLENBQUM7O0FBYXJILE1BQU0sT0FBTyxlQUFlO0lBbUIxQjtRQWxCQSxZQUFZO1FBQ0gsaUJBQVksR0FBZSxTQUFTLENBQUM7UUFDOUMsWUFBWTtRQUNILGtCQUFhLEdBQWUsU0FBUyxDQUFDO1FBQy9DLFlBQVk7UUFDSCxtQkFBYyxHQUEyQixFQUFFLENBQUM7UUFDckQsWUFBWTtRQUNILG9CQUFlLEdBQTRCLEVBQUUsQ0FBQztRQUN2RCxZQUFZO1FBQ0gsV0FBTSxHQUFXLGFBQWEsQ0FBQztRQUN4QyxjQUFjO1FBQ0wsWUFBTyxHQUFXLFdBQVcsQ0FBQztRQUN2QyxnQkFBZ0I7UUFDTixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQTRDLENBQUM7SUFLbEUsQ0FBQztJQUVqQixlQUFlO1FBQ2IsU0FBUztRQUNULE1BQU0sYUFBYSxHQUE0QjtZQUM3QyxXQUFXLEVBQUUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDO1NBQzVDLENBQUE7UUFFRCxhQUFhO1FBQ2IsTUFBTSxZQUFZLEdBQTJCO1lBQzNDLE9BQU87WUFDUCxTQUFTLEVBQUU7Z0JBQ1QsV0FBVyxFQUFFO29CQUNYLE1BQU0sRUFBRSxFQUFFO29CQUNWLGVBQWUsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUk7aUJBQ2xDO2FBQ0Y7WUFDRCxPQUFPO1lBQ1AsV0FBVyxFQUFFLFVBQVU7U0FDeEIsQ0FBQTtRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLFNBQVM7WUFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ2pCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUM1RCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDeEIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLFVBQVU7WUFDcEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQzlELElBQUksRUFBRSxJQUFJLENBQUMsYUFBYTtTQUN6QixDQUFDLENBQUE7UUFFRixxRUFBcUU7UUFDckUsdUVBQXVFO1FBQ3ZFLDZDQUE2QztRQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7NEdBakVVLGVBQWU7Z0dBQWYsZUFBZSwwUUNkNUIsd1FBR007MkZEV08sZUFBZTtrQkFUM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFO3dCQUNULHlCQUF5Qjt3QkFDekIsNkRBQTZEO3FCQUM5RDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7MEVBR1UsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY3JlYXRlRWRpdG9yLCBjcmVhdGVUb29sYmFyLCBJRG9tRWRpdG9yLCBJRWRpdG9yQ29uZmlnLCBJVG9vbGJhckNvbmZpZywgVG9vbGJhciB9IGZyb20gJ0B3YW5nZWRpdG9yL2VkaXRvcic7XHJcblxyXG5leHBvcnQgdHlwZSBOY01vZGVUeXBlID0gJ2RlZmF1bHQnIHwgJ3NpbXBsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25jLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9lZGl0b3IuY29tcG9uZW50Lmxlc3MnLFxyXG4gICAgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9Ad2FuZ2VkaXRvci9lZGl0b3IvZGlzdC9jc3Mvc3R5bGUuY3NzJ1xyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgLyoqIOe8lui+keWZqOaooeW8jyAqL1xyXG4gIEBJbnB1dCgpIG5jRWRpdG9yTW9kZTogTmNNb2RlVHlwZSA9ICdkZWZhdWx0JztcclxuICAvKiog5bel5YW35qCP5qih5byPICovXHJcbiAgQElucHV0KCkgbmNUb29sYmFyTW9kZTogTmNNb2RlVHlwZSA9ICdkZWZhdWx0JztcclxuICAvKiog57yW6L6R5Zmo6YWN572uICovXHJcbiAgQElucHV0KCkgbmNFZGl0b3JDb25maWc6IFBhcnRpYWw8SUVkaXRvckNvbmZpZz4gPSB7fTtcclxuICAvKiog5bel5YW35qCP6YWN572uICovXHJcbiAgQElucHV0KCkgbmNUb29sYmFyQ29uZmlnOiBQYXJ0aWFsPElUb29sYmFyQ29uZmlnPiA9IHt9O1xyXG4gIC8qKiDliJ3lp4vljJblhoXlrrkgKi9cclxuICBASW5wdXQoKSBuY0h0bWw6IHN0cmluZyA9ICc8cD48YnI+PC9wPic7XHJcbiAgLyoqIOe8lui+keWZqOWuueWZqGlkICovXHJcbiAgQElucHV0KCkgbmNEb21JZDogc3RyaW5nID0gJ25jLWVkaXRvcic7XHJcbiAgLyoqIOe8lui+keWZqOWKoOi9veWujOaIkOS6i+S7tiAqL1xyXG4gIEBPdXRwdXQoKSBuY0xvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBlZGl0b3I6IElEb21FZGl0b3IsIHRvb2xiYXI6IFRvb2xiYXIgfT4oKTtcclxuXHJcbiAgZWRpdG9yITogSURvbUVkaXRvcjtcclxuICB0b29sYmFyITogVG9vbGJhcjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy/pu5jorqTlt6XlhbfmoI/phY3nva5cclxuICAgIGNvbnN0IHRvb2xiYXJDb25maWc6IFBhcnRpYWw8SVRvb2xiYXJDb25maWc+ID0ge1xyXG4gICAgICBleGNsdWRlS2V5czogWydncm91cC12aWRlbycsICdpbnNlcnRJbWFnZSddXHJcbiAgICB9XHJcblxyXG4gICAgLy/pu5jorqToj5zljZXmoI/lkoznvJbovpHlmajphY3nva5cclxuICAgIGNvbnN0IGVkaXRvckNvbmZpZzogUGFydGlhbDxJRWRpdG9yQ29uZmlnPiA9IHtcclxuICAgICAgLy/oj5zljZXmoI/phY3nva5cclxuICAgICAgTUVOVV9DT05GOiB7XHJcbiAgICAgICAgdXBsb2FkSW1hZ2U6IHtcclxuICAgICAgICAgIHNlcnZlcjogJycsXHJcbiAgICAgICAgICBiYXNlNjRMaW1pdFNpemU6IDEwICogMTAyNCAqIDEwMjRcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIC8v57yW6L6R5Zmo6YWN572uXHJcbiAgICAgIHBsYWNlaG9sZGVyOiAn6K+36L6T5YWl5YaF5a65Li4uJ1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWRpdG9yID0gY3JlYXRlRWRpdG9yKHtcclxuICAgICAgc2VsZWN0b3I6IGAjJHt0aGlzLm5jRG9tSWR9LWVkaXRvcmAsXHJcbiAgICAgIGh0bWw6IHRoaXMubmNIdG1sLFxyXG4gICAgICBjb25maWc6IE9iamVjdC5hc3NpZ24oe30sIGVkaXRvckNvbmZpZywgdGhpcy5uY0VkaXRvckNvbmZpZyksXHJcbiAgICAgIG1vZGU6IHRoaXMubmNFZGl0b3JNb2RlXHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMudG9vbGJhciA9IGNyZWF0ZVRvb2xiYXIoe1xyXG4gICAgICBlZGl0b3I6IHRoaXMuZWRpdG9yLFxyXG4gICAgICBzZWxlY3RvcjogYCMke3RoaXMubmNEb21JZH0tdG9vbGJhcmAsXHJcbiAgICAgIGNvbmZpZzogT2JqZWN0LmFzc2lnbih7fSwgdG9vbGJhckNvbmZpZywgdGhpcy5uY1Rvb2xiYXJDb25maWcpLFxyXG4gICAgICBtb2RlOiB0aGlzLm5jVG9vbGJhck1vZGVcclxuICAgIH0pXHJcblxyXG4gICAgLy8gY29uc29sZS5sb2coT2JqZWN0LmFzc2lnbih7fSwgZWRpdG9yQ29uZmlnLCB0aGlzLm5jRWRpdG9yQ29uZmlnKSk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhPYmplY3QuYXNzaWduKHt9LCB0b29sYmFyQ29uZmlnLCB0aGlzLm5jVG9vbGJhckNvbmZpZykpO1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5lZGl0b3IuZ2V0QWxsTWVudUtleXMoKSk7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnRvb2xiYXIuZ2V0Q29uZmlnKCkudG9vbGJhcktleXMpO1xyXG5cclxuICAgIHRoaXMubmNMb2FkZWQuZW1pdCh7IGVkaXRvcjogdGhpcy5lZGl0b3IsIHRvb2xiYXI6IHRoaXMudG9vbGJhciB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xyXG4gICAgdGhpcy50b29sYmFyLmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImVkaXRvcuKAlHdyYXBwZXJcIiBbaWRdPVwibmNEb21JZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sYmFyLWNvbnRhaW5lclwiIFtpZF09XCJuY0RvbUlkICsgJy10b29sYmFyJ1wiPjwhLS0g5bel5YW35qCPIC0tPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlZGl0b3ItY29udGFpbmVyXCIgW2lkXT1cIm5jRG9tSWQgKyAnLWVkaXRvcidcIj48IS0tIOe8lui+keWZqCAtLT48L2Rpdj5cbjwvZGl2PiJdfQ==