Socket
Socket
Sign inDemoInstall

@ckeditor/ckeditor5-angular

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ckeditor/ckeditor5-angular - npm Package Compare versions

Comparing version 2.0.1 to 2.0.2

77

bundles/ckeditor-ckeditor5-angular.umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ckeditor/ckeditor5-watchdog/src/editorwatchdog'), require('@angular/forms'), require('@angular/common')) :
typeof define === 'function' && define.amd ? define('@ckeditor/ckeditor5-angular', ['exports', '@angular/core', '@ckeditor/ckeditor5-watchdog/src/editorwatchdog', '@angular/forms', '@angular/common'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ckeditor = global.ckeditor || {}, global.ckeditor['ckeditor5-angular'] = {}), global.ng.core, global.EditorWatchdog, global.ng.forms, global.ng.common));
}(this, (function (exports, core, EditorWatchdog, forms, common) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ckeditor/ckeditor5-watchdog/src/editorwatchdog'), require('rxjs/operators'), require('@angular/forms'), require('@angular/common')) :
typeof define === 'function' && define.amd ? define('@ckeditor/ckeditor5-angular', ['exports', '@angular/core', '@ckeditor/ckeditor5-watchdog/src/editorwatchdog', 'rxjs/operators', '@angular/forms', '@angular/common'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ckeditor = global.ckeditor || {}, global.ckeditor['ckeditor5-angular'] = {}), global.ng.core, global.EditorWatchdog, global.rxjs.operators, global.ng.forms, global.ng.common));
}(this, (function (exports, core, EditorWatchdog, operators, forms, common) { 'use strict';

@@ -35,2 +35,4 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

function __extends(d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);

@@ -221,2 +223,3 @@ function __() { this.constructor = d; }

}
/** @deprecated */
function __spread() {

@@ -227,2 +230,3 @@ for (var ar = [], i = 0; i < arguments.length; i++)

}
/** @deprecated */
function __spreadArrays() {

@@ -236,3 +240,13 @@ for (var s = 0, i = 0, il = arguments.length; i < il; i++)

}
;
function __spreadArray(to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar)
ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || from);
}
function __await(v) {

@@ -302,18 +316,21 @@ return this instanceof __await ? (this.v = v, this) : new __await(v);

}
function __classPrivateFieldGet(receiver, privateMap) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to get private field on non-instance");
}
return privateMap.get(receiver);
function __classPrivateFieldGet(receiver, state, kind, f) {
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}
function __classPrivateFieldSet(receiver, privateMap, value) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to set private field on non-instance");
}
privateMap.set(receiver, value);
return value;
function __classPrivateFieldSet(receiver, state, value, kind, f) {
if (kind === "m")
throw new TypeError("Private method is not writable");
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
}
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license

@@ -499,2 +516,3 @@ */

CKEditorComponent.prototype.writeValue = function (value) {
var _this = this;
// This method is called with the `null` value when the form resets.

@@ -515,8 +533,11 @@ // A component's responsibility is to restore to the initial state.

else {
// If the editor element is already available, then update its content.
this.data = value;
// If the editor element is already available, then update its content.
// If the ngModel is used then the editor element should be updated directly here.
if (this.editorElement) {
this.editorElement.innerHTML = this.data;
}
// If not, then wait until it is ready
// and change data only for the first `ready` event.
this.ready
.pipe(operators.first())
.subscribe(function (editor) {
editor.setData(_this.data);
});
}

@@ -625,4 +646,10 @@ };

}
var config = Object.assign({}, this.config);
// Merge two possible ways of providing data into the `config.initialData` field.
return Object.assign(Object.assign({}, this.config), { initialData: this.config.initialData || this.data || '' });
var initialData = this.config.initialData || this.data;
if (initialData) {
// Define the `config.initialData` only when the initial content is specified.
config.initialData = initialData;
}
return config;
};

@@ -695,3 +722,3 @@ /**

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -713,3 +740,3 @@ */

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -716,0 +743,0 @@ */

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@ckeditor/ckeditor5-watchdog/src/editorwatchdog"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("@ckeditor/ckeditor5-angular",["exports","@angular/core","@ckeditor/ckeditor5-watchdog/src/editorwatchdog","@angular/forms","@angular/common"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ckeditor=t.ckeditor||{},t.ckeditor["ckeditor5-angular"]={}),t.ng.core,t.EditorWatchdog,t.ng.forms,t.ng.common)}(this,(function(t,e,n,i,r){"use strict";function o(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=o(n);
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@ckeditor/ckeditor5-watchdog/src/editorwatchdog"),require("rxjs/operators"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("@ckeditor/ckeditor5-angular",["exports","@angular/core","@ckeditor/ckeditor5-watchdog/src/editorwatchdog","rxjs/operators","@angular/forms","@angular/common"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ckeditor=t.ckeditor||{},t.ckeditor["ckeditor5-angular"]={}),t.ng.core,t.EditorWatchdog,t.rxjs.operators,t.ng.forms,t.ng.common)}(this,(function(t,e,n,i,r,o){"use strict";function a(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var s=a(n);
/*! *****************************************************************************

@@ -15,18 +15,18 @@ Copyright (c) Microsoft Corporation.

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */function c(t,e,n,i){return new(n||(n=Promise))((function(r,o){function a(t){try{s(i.next(t))}catch(t){o(t)}}function c(t){try{s(i.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,c)}s((i=i.apply(t,e||[])).next())}))}function s(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){a.label=o[1];break}if(6===o[0]&&a.label<r[1]){a.label=r[1],r=o;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(o);break}r[2]&&a.ops.pop(),a.trys.pop();continue}o=e.call(t,a)}catch(t){o=[6,t],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,c])}}}Object.create;Object.create;
***************************************************************************** */function c(t,e,n,i){return new(n||(n=Promise))((function(r,o){function a(t){try{c(i.next(t))}catch(t){o(t)}}function s(t){try{c(i.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}c((i=i.apply(t,e||[])).next())}))}function u(t,e){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){a.label=o[1];break}if(6===o[0]&&a.label<r[1]){a.label=r[1],r=o;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(o);break}r[2]&&a.ops.pop(),a.trys.pop();continue}o=e.call(t,a)}catch(t){o=[6,t],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}Object.create;Object.create;
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
var u=new Array(256).fill(0).map((function(t,e){return("0"+e.toString(16)).slice(-2)}));var d=function(){function t(t,n){var i,r,o,a;this.config={},this.data="",this.tagName="div",this.ready=new e.EventEmitter,this.change=new e.EventEmitter,this.blur=new e.EventEmitter,this.focus=new e.EventEmitter,this.error=new e.EventEmitter,this.initiallyDisabled=!1,this.isEditorSettingData=!1,this.id=(i=4294967296*Math.random()>>>0,r=4294967296*Math.random()>>>0,o=4294967296*Math.random()>>>0,a=4294967296*Math.random()>>>0,"e"+u[i>>0&255]+u[i>>8&255]+u[i>>16&255]+u[i>>24&255]+u[r>>0&255]+u[r>>8&255]+u[r>>16&255]+u[r>>24&255]+u[o>>0&255]+u[o>>8&255]+u[o>>16&255]+u[o>>24&255]+u[a>>0&255]+u[a>>8&255]+u[a>>16&255]+u[a>>24&255]),this.ngZone=n,this.elementRef=t}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this.editorInstance?this.editorInstance.isReadOnly:this.initiallyDisabled},set:function(t){this.setDisabledState(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"editorInstance",{get:function(){var t=this.editorWatchdog;return this.watchdog&&(t=this.watchdog._watchdogs.get(this.id)),t?t.editor:null},enumerable:!1,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.attachToWatchdog()},t.prototype.ngOnDestroy=function(){return c(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return this.watchdog?[4,this.watchdog.remove(this.id)]:[3,2];case 1:return t.sent(),[3,4];case 2:return this.editorWatchdog&&this.editorWatchdog.editor?[4,this.editorWatchdog.destroy()]:[3,4];case 3:t.sent(),this.editorWatchdog=void 0,t.label=4;case 4:return[2]}}))}))},t.prototype.writeValue=function(t){null===t&&(t=""),this.editorInstance?(this.isEditorSettingData=!0,this.editorInstance.setData(t),this.isEditorSettingData=!1):(this.data=t,this.editorElement&&(this.editorElement.innerHTML=this.data))},t.prototype.registerOnChange=function(t){this.cvaOnChange=t},t.prototype.registerOnTouched=function(t){this.cvaOnTouched=t},t.prototype.setDisabledState=function(t){this.editorInstance&&(this.editorInstance.isReadOnly=t),this.initiallyDisabled=t},t.prototype.attachToWatchdog=function(){var t=this,e=function(e,n){return c(t,void 0,void 0,(function(){var t=this;return s(this,(function(i){return[2,this.ngZone.runOutsideAngular((function(){return c(t,void 0,void 0,(function(){var t,i=this;return s(this,(function(r){switch(r.label){case 0:return this.elementRef.nativeElement.appendChild(e),[4,this.editor.create(e,n)];case 1:return t=r.sent(),this.initiallyDisabled&&(t.isReadOnly=this.initiallyDisabled),this.ngZone.run((function(){i.ready.emit(t)})),this.setUpEditorEvents(t),[2,t]}}))}))}))]}))}))},n=function(e){return c(t,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return[4,e.destroy()];case 1:return t.sent(),this.elementRef.nativeElement.removeChild(this.editorElement),[2]}}))}))},i=function(){t.ngZone.run((function(){t.error.emit()}))},r=document.createElement(this.tagName),o=this.getConfig();if(this.editorElement=r,this.watchdog)this.watchdog.add({id:this.id,type:"editor",creator:e,destructor:n,sourceElementOrData:r,config:o}),this.watchdog.on("itemError",(function(e,n){n.itemId===t.id&&i()}));else{var u=new a.default(this.editor);u.setCreator(e),u.setDestructor(n),u.on("error",i),this.editorWatchdog=u,this.editorWatchdog.create(r,o)}},t.prototype.getConfig=function(){if(this.data&&this.config.initialData)throw new Error("Editor data should be provided either using `config.initialData` or `data` properties.");return Object.assign(Object.assign({},this.config),{initialData:this.config.initialData||this.data||""})},t.prototype.setUpEditorEvents=function(t){var e=this,n=t.model.document,i=t.editing.view.document;n.on("change:data",(function(n){e.ngZone.run((function(){if(e.cvaOnChange&&!e.isEditorSettingData){var i=t.getData();e.cvaOnChange(i)}e.change.emit({event:n,editor:t})}))})),i.on("focus",(function(n){e.ngZone.run((function(){e.focus.emit({event:n,editor:t})}))})),i.on("blur",(function(n){e.ngZone.run((function(){e.cvaOnTouched&&e.cvaOnTouched(),e.blur.emit({event:n,editor:t})}))}))},t}();d.decorators=[{type:e.Component,args:[{selector:"ckeditor",template:"<ng-template></ng-template>",providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:e.forwardRef((function(){return d})),multi:!0}]}]}],d.ctorParameters=function(){return[{type:e.ElementRef},{type:e.NgZone}]},d.propDecorators={editor:[{type:e.Input}],config:[{type:e.Input}],data:[{type:e.Input}],tagName:[{type:e.Input}],watchdog:[{type:e.Input}],disabled:[{type:e.Input}],ready:[{type:e.Output}],change:[{type:e.Output}],blur:[{type:e.Output}],focus:[{type:e.Output}],error:[{type:e.Output}]};
var d=new Array(256).fill(0).map((function(t,e){return("0"+e.toString(16)).slice(-2)}));var h=function(){function t(t,n){var i,r,o,a;this.config={},this.data="",this.tagName="div",this.ready=new e.EventEmitter,this.change=new e.EventEmitter,this.blur=new e.EventEmitter,this.focus=new e.EventEmitter,this.error=new e.EventEmitter,this.initiallyDisabled=!1,this.isEditorSettingData=!1,this.id=(i=4294967296*Math.random()>>>0,r=4294967296*Math.random()>>>0,o=4294967296*Math.random()>>>0,a=4294967296*Math.random()>>>0,"e"+d[i>>0&255]+d[i>>8&255]+d[i>>16&255]+d[i>>24&255]+d[r>>0&255]+d[r>>8&255]+d[r>>16&255]+d[r>>24&255]+d[o>>0&255]+d[o>>8&255]+d[o>>16&255]+d[o>>24&255]+d[a>>0&255]+d[a>>8&255]+d[a>>16&255]+d[a>>24&255]),this.ngZone=n,this.elementRef=t}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this.editorInstance?this.editorInstance.isReadOnly:this.initiallyDisabled},set:function(t){this.setDisabledState(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"editorInstance",{get:function(){var t=this.editorWatchdog;return this.watchdog&&(t=this.watchdog._watchdogs.get(this.id)),t?t.editor:null},enumerable:!1,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.attachToWatchdog()},t.prototype.ngOnDestroy=function(){return c(this,void 0,void 0,(function(){return u(this,(function(t){switch(t.label){case 0:return this.watchdog?[4,this.watchdog.remove(this.id)]:[3,2];case 1:return t.sent(),[3,4];case 2:return this.editorWatchdog&&this.editorWatchdog.editor?[4,this.editorWatchdog.destroy()]:[3,4];case 3:t.sent(),this.editorWatchdog=void 0,t.label=4;case 4:return[2]}}))}))},t.prototype.writeValue=function(t){var e=this;null===t&&(t=""),this.editorInstance?(this.isEditorSettingData=!0,this.editorInstance.setData(t),this.isEditorSettingData=!1):(this.data=t,this.ready.pipe(i.first()).subscribe((function(t){t.setData(e.data)})))},t.prototype.registerOnChange=function(t){this.cvaOnChange=t},t.prototype.registerOnTouched=function(t){this.cvaOnTouched=t},t.prototype.setDisabledState=function(t){this.editorInstance&&(this.editorInstance.isReadOnly=t),this.initiallyDisabled=t},t.prototype.attachToWatchdog=function(){var t=this,e=function(e,n){return c(t,void 0,void 0,(function(){var t=this;return u(this,(function(i){return[2,this.ngZone.runOutsideAngular((function(){return c(t,void 0,void 0,(function(){var t,i=this;return u(this,(function(r){switch(r.label){case 0:return this.elementRef.nativeElement.appendChild(e),[4,this.editor.create(e,n)];case 1:return t=r.sent(),this.initiallyDisabled&&(t.isReadOnly=this.initiallyDisabled),this.ngZone.run((function(){i.ready.emit(t)})),this.setUpEditorEvents(t),[2,t]}}))}))}))]}))}))},n=function(e){return c(t,void 0,void 0,(function(){return u(this,(function(t){switch(t.label){case 0:return[4,e.destroy()];case 1:return t.sent(),this.elementRef.nativeElement.removeChild(this.editorElement),[2]}}))}))},i=function(){t.ngZone.run((function(){t.error.emit()}))},r=document.createElement(this.tagName),o=this.getConfig();if(this.editorElement=r,this.watchdog)this.watchdog.add({id:this.id,type:"editor",creator:e,destructor:n,sourceElementOrData:r,config:o}),this.watchdog.on("itemError",(function(e,n){n.itemId===t.id&&i()}));else{var a=new s.default(this.editor);a.setCreator(e),a.setDestructor(n),a.on("error",i),this.editorWatchdog=a,this.editorWatchdog.create(r,o)}},t.prototype.getConfig=function(){if(this.data&&this.config.initialData)throw new Error("Editor data should be provided either using `config.initialData` or `data` properties.");var t=Object.assign({},this.config),e=this.config.initialData||this.data;return e&&(t.initialData=e),t},t.prototype.setUpEditorEvents=function(t){var e=this,n=t.model.document,i=t.editing.view.document;n.on("change:data",(function(n){e.ngZone.run((function(){if(e.cvaOnChange&&!e.isEditorSettingData){var i=t.getData();e.cvaOnChange(i)}e.change.emit({event:n,editor:t})}))})),i.on("focus",(function(n){e.ngZone.run((function(){e.focus.emit({event:n,editor:t})}))})),i.on("blur",(function(n){e.ngZone.run((function(){e.cvaOnTouched&&e.cvaOnTouched(),e.blur.emit({event:n,editor:t})}))}))},t}();h.decorators=[{type:e.Component,args:[{selector:"ckeditor",template:"<ng-template></ng-template>",providers:[{provide:r.NG_VALUE_ACCESSOR,useExisting:e.forwardRef((function(){return h})),multi:!0}]}]}],h.ctorParameters=function(){return[{type:e.ElementRef},{type:e.NgZone}]},h.propDecorators={editor:[{type:e.Input}],config:[{type:e.Input}],data:[{type:e.Input}],tagName:[{type:e.Input}],watchdog:[{type:e.Input}],disabled:[{type:e.Input}],ready:[{type:e.Output}],change:[{type:e.Output}],blur:[{type:e.Output}],focus:[{type:e.Output}],error:[{type:e.Output}]};
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
var h=function(){};h.decorators=[{type:e.NgModule,args:[{imports:[i.FormsModule,r.CommonModule],declarations:[d],exports:[d]}]}],
var l=function(){};l.decorators=[{type:e.NgModule,args:[{imports:[r.FormsModule,o.CommonModule],declarations:[h],exports:[h]}]}],
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
t.CKEditorComponent=d,t.CKEditorModule=h,Object.defineProperty(t,"__esModule",{value:!0})}));
t.CKEditorComponent=h,t.CKEditorModule=l,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=ckeditor-ckeditor5-angular.umd.min.js.map
Changelog
=========
## [2.0.2](https://github.com/ckeditor/ckeditor5-angular/compare/v2.0.1...v2.0.2) (2021-07-12)
### Bug fixes
* Fixed setting data on the editor component when the component is initializing. Closes [ckeditor/ckeditor5#9620](https://github.com/ckeditor/ckeditor5/issues/9620). ([commit](https://github.com/ckeditor/ckeditor5-angular/commit/bdfabf453349004043c930e605e7ccd0954bc804))
### Other changes
* Added support for Angular 11. Internal: Updated internal Angular deps to v. 11. Closes [#235](https://github.com/ckeditor/ckeditor5-angular/issues/235). ([commit](https://github.com/ckeditor/ckeditor5-angular/commit/5e9da543a7cd7313fc530d11482f293bd973ba17))
## [2.0.1](https://github.com/ckeditor/ckeditor5-angular/compare/v2.0.0...v2.0.1) (2020-10-15)

@@ -5,0 +16,0 @@

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"exports":[{"from":"./ckeditor"}],"metadata":{"BlurEvent":{"__symbolic":"interface"},"FocusEvent":{"__symbolic":"interface"},"ChangeEvent":{"__symbolic":"interface"},"CKEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":42,"character":1},"arguments":[{"selector":"ckeditor","template":"<ng-template></ng-template>","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":49,"character":12},"useExisting":{"__symbolic":"reference","name":"CKEditorComponent"},"multi":true}]}]}],"members":{"editor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":2}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":2}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":2}}]}],"tagName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":2}}]}],"watchdog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":91,"character":2}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":2}}]}],"ready":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":115,"character":2}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":122,"character":2}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":129,"character":2}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":136,"character":2}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":141,"character":2}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":209,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":209,"character":53}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"attachToWatchdog":[{"__symbolic":"method"}],"getConfig":[{"__symbolic":"method"}],"setUpEditorEvents":[{"__symbolic":"method"}]}},"CKEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":11,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":25}],"declarations":[{"__symbolic":"reference","name":"CKEditorComponent"}],"exports":[{"__symbolic":"reference","name":"CKEditorComponent"}]}]}],"members":{}}},"origins":{"BlurEvent":"./ckeditor.component","FocusEvent":"./ckeditor.component","ChangeEvent":"./ckeditor.component","CKEditorComponent":"./ckeditor.component","CKEditorModule":"./ckeditor.module"},"importAs":"@ckeditor/ckeditor5-angular"}
{"__symbolic":"module","version":4,"exports":[{"from":"./ckeditor"}],"metadata":{"BlurEvent":{"__symbolic":"interface"},"FocusEvent":{"__symbolic":"interface"},"ChangeEvent":{"__symbolic":"interface"},"CKEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":43,"character":1},"arguments":[{"selector":"ckeditor","template":"<ng-template></ng-template>","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":50,"character":12},"useExisting":{"__symbolic":"reference","name":"CKEditorComponent"},"multi":true}]}]}],"members":{"editor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":2}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":2}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":2}}]}],"tagName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":2}}]}],"watchdog":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":2}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":99,"character":2}}]}],"ready":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":116,"character":2}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":2}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":130,"character":2}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":137,"character":2}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":142,"character":2}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":210,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":210,"character":53}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"attachToWatchdog":[{"__symbolic":"method"}],"getConfig":[{"__symbolic":"method"}],"setUpEditorEvents":[{"__symbolic":"method"}]}},"CKEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":11,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":25}],"declarations":[{"__symbolic":"reference","name":"CKEditorComponent"}],"exports":[{"__symbolic":"reference","name":"CKEditorComponent"}]}]}],"members":{}}},"origins":{"BlurEvent":"./ckeditor.component","FocusEvent":"./ckeditor.component","ChangeEvent":"./ckeditor.component","CKEditorComponent":"./ckeditor.component","CKEditorModule":"./ckeditor.module"},"importAs":"@ckeditor/ckeditor5-angular"}
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -4,0 +4,0 @@ */

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -4,0 +4,0 @@ */

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -4,0 +4,0 @@ */

@@ -5,2 +5,2 @@ /**

export * from './index';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL21hY2llamJ1a293c2tpL3dvcmtzcGFjZS9pbnRlZ3JhdGlvbnMvY2tlZGl0b3I1LWFuZ3VsYXIvc3JjL2NrZWRpdG9yLyIsInNvdXJjZXMiOlsiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2tlZGl0b3IvY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -8,2 +8,3 @@ */

import EditorWatchdog from '@ckeditor/ckeditor5-watchdog/src/editorwatchdog';
import { first } from 'rxjs/operators';
import uid from './uid';

@@ -134,8 +135,11 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';

else {
// If the editor element is already available, then update its content.
this.data = value;
// If the editor element is already available, then update its content.
// If the ngModel is used then the editor element should be updated directly here.
if (this.editorElement) {
this.editorElement.innerHTML = this.data;
}
// If not, then wait until it is ready
// and change data only for the first `ready` event.
this.ready
.pipe(first())
.subscribe((editor) => {
editor.setData(this.data);
});
}

@@ -223,4 +227,10 @@ }

}
const config = Object.assign({}, this.config);
// Merge two possible ways of providing data into the `config.initialData` field.
return Object.assign(Object.assign({}, this.config), { initialData: this.config.initialData || this.data || '' });
const initialData = this.config.initialData || this.data;
if (initialData) {
// Define the `config.initialData` only when the initial content is specified.
config.initialData = initialData;
}
return config;
}

@@ -289,2 +299,2 @@ /**

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9tYWNpZWpidWtvd3NraS93b3Jrc3BhY2UvaW50ZWdyYXRpb25zL2NrZWRpdG9yNS1hbmd1bGFyL3NyYy9ja2VkaXRvci8iLCJzb3VyY2VzIjpbImNrZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7O0FBRUgsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUVWLFVBQVUsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLGNBQWMsTUFBTSxpREFBaUQsQ0FBQztBQUU3RSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUM7QUFFeEIsT0FBTyxFQUVOLGlCQUFpQixFQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBaUN4QixNQUFNLE9BQU8saUJBQWlCO0lBeUo3QixZQUFvQixVQUFzQixFQUFFLE1BQWM7UUE3STFEOzs7O1dBSUc7UUFDYSxXQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUU5Qzs7O1dBR0c7UUFDYSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTFCOzs7O1dBSUc7UUFDYSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBd0JoQzs7OztXQUlHO1FBQ2MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRTlEOzs7O1dBSUc7UUFDYyxXQUFNLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7UUFFckY7Ozs7V0FJRztRQUNjLFNBQUksR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUUvRTs7OztXQUlHO1FBQ2MsVUFBSyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRWxGOztXQUVHO1FBQ2MsVUFBSyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBNEJ0RTs7O1dBR0c7UUFDSyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUE2QmxDOztXQUVHO1FBQ0ssd0JB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biAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHROZ1pvbmUsXG5cdEV2ZW50RW1pdHRlcixcblx0Zm9yd2FyZFJlZixcblx0QWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LFxuXHRFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgRWRpdG9yV2F0Y2hkb2cgZnJvbSAnQGNrZWRpdG9yL2NrZWRpdG9yNS13YXRjaGRvZy9zcmMvZWRpdG9yd2F0Y2hkb2cnO1xuXG5pbXBvcnQgdWlkIGZyb20gJy4vdWlkJztcblxuaW1wb3J0IHtcblx0Q29udHJvbFZhbHVlQWNjZXNzb3IsXG5cdE5HX1ZBTFVFX0FDQ0VTU09SXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ0tFZGl0b3I1IH0gZnJvbSAnLi9ja2VkaXRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmx1ckV2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2JsdXInPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvY3VzRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnZm9jdXMnPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUV2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2NoYW5nZTpkYXRhJz47XG5cdGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvcjtcbn1cblxuQENvbXBvbmVudCgge1xuXHRzZWxlY3RvcjogJ2NrZWRpdG9yJyxcblx0dGVtcGxhdGU6ICc8bmctdGVtcGxhdGU+PC9uZy10ZW1wbGF0ZT4nLFxuXG5cdC8vIEludGVncmF0aW9uIHdpdGggQGFuZ3VsYXIvZm9ybXMuXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoICgpID0+IENLRWRpdG9yQ29tcG9uZW50ICksXG5cdFx0XHRtdWx0aTogdHJ1ZVxuXHRcdH1cblx0XVxufSApXG5leHBvcnQgY2xhc3MgQ0tFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0LyoqXG5cdCAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIERPTSBlbGVtZW50IGNyZWF0ZWQgYnkgdGhlIGNvbXBvbmVudC5cblx0ICovXG5cdHByaXZhdGUgZWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdC8qKlxuXHQgKiBUaGUgY29uc3RydWN0b3Igb2YgdGhlIGVkaXRvciB0byBiZSB1c2VkIGZvciB0aGUgaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudC5cblx0ICogSXQgY2FuIGJlIGUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yQnVpbGRgLCBgSW5saW5lRWRpdG9yQnVpbGRgIG9yIHNvbWUgY3VzdG9tIGVkaXRvci5cblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyBlZGl0b3I/OiBDS0VkaXRvcjUuRWRpdG9yQ29uc3RydWN0b3I7XG5cblx0LyoqXG5cdCAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBlZGl0b3IuXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3Jjb25maWctRWRpdG9yQ29uZmlnLmh0bWxcblx0ICogdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyBjb25maWc6IENLRWRpdG9yNS5Db25maWcgPSB7fTtcblxuXHQvKipcblx0ICogVGhlIGluaXRpYWwgZGF0YSBvZiB0aGUgZWRpdG9yLiBVc2VmdWwgd2hlbiBub3QgdXNpbmcgdGhlIG5nTW9kZWwuXG5cdCAqIFNlZSBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL05nTW9kZWwgdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyBkYXRhID0gJyc7XG5cblx0LyoqXG5cdCAqIFRhZyBuYW1lIG9mIHRoZSBlZGl0b3IgY29tcG9uZW50LlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB0YWcgaXMgJ2RpdicuXG5cdCAqL1xuXHRASW5wdXQoKSBwdWJsaWMgdGFnTmFtZSA9ICdkaXYnO1xuXG5cdC8qKlxuXHQgKiBUaGUgY29udGV4dCB3YXRjaGRvZy5cblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyB3YXRjaGRvZz86IENLRWRpdG9yNS5Db250ZXh0V2F0Y2hkb2c7XG5cblx0LyoqXG5cdCAqIFdoZW4gc2V0IGB0cnVlYCwgdGhlIGVkaXRvciBiZWNvbWVzIHJlYWQtb25seS5cblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbCNtZW1iZXItaXNSZWFkT25seVxuXHQgKiB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgcHVibGljIHNldCBkaXNhYmxlZCggaXNEaXNhYmxlZDogYm9vbGVhbiApIHtcblx0XHR0aGlzLnNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQgKTtcblx0fVxuXG5cdHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZWRpdG9ySW5zdGFuY2UuaXNSZWFkT25seTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5pbml0aWFsbHlEaXNhYmxlZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0b3IgaXMgcmVhZHkuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IjcmVhZHlgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbCNldmVudC1yZWFkeVxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBwdWJsaWMgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPENLRWRpdG9yNS5FZGl0b3I+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIGVkaXRvciBoYXMgY2hhbmdlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5tb2RlbC5kb2N1bWVudCNjaGFuZ2VgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2VuZ2luZV9tb2RlbF9kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWNoYW5nZVxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdGluZyB2aWV3IG9mIHRoZSBlZGl0b3IgaXMgYmx1cnJlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQjYmx1cmBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpibHVyXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIHB1YmxpYyBibHVyOiBFdmVudEVtaXR0ZXI8Qmx1ckV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Qmx1ckV2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0aW5nIHZpZXcgb2YgdGhlIGVkaXRvciBpcyBmb2N1c2VkLiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudCNmb2N1c2Bcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpmb2N1c1xuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBwdWJsaWMgZm9jdXM6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdG9yIGNvbXBvbmVudCBjcmFzaGVzLlxuXHQgKi9cblx0QE91dHB1dCgpIHB1YmxpYyBlcnJvcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdC8qKlxuXHQgKiBUaGUgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvciBjcmVhdGVkIGJ5IHRoaXMgY29tcG9uZW50LlxuXHQgKi9cblx0cHVibGljIGdldCBlZGl0b3JJbnN0YW5jZSgpOiBDS0VkaXRvcjUuRWRpdG9yIHwgbnVsbCB7XG5cdFx0bGV0IGVkaXRvcldhdGNoZG9nID0gdGhpcy5lZGl0b3JXYXRjaGRvZztcblxuXHRcdGlmICggdGhpcy53YXRjaGRvZyApIHtcblx0XHRcdC8vIFRlbXBvcmFyaWx5IHVzZSB0aGUgYF93YXRjaGRvZ3NgIGludGVybmFsIG1hcCBhcyB0aGUgYGdldEl0ZW0oKWAgbWV0aG9kIHRocm93c1xuXHRcdFx0Ly8gYW4gZXJyb3Igd2hlbiB0aGUgaXRlbSBpcyBub3QgcmVnaXN0ZXJlZCB5ZXQuXG5cdFx0XHQvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyL2lzc3Vlcy8xNzcuXG5cdFx0XHRlZGl0b3JXYXRjaGRvZyA9IHRoaXMud2F0Y2hkb2cuX3dhdGNoZG9ncy5nZXQoIHRoaXMuaWQgKTtcblx0XHR9XG5cblx0XHRpZiAoIGVkaXRvcldhdGNoZG9nICkge1xuXHRcdFx0cmV0dXJuIGVkaXRvcldhdGNoZG9nLmVkaXRvcjtcblx0XHR9XG5cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgZWRpdG9yIHdhdGNoZG9nLiBJdCBpcyBjcmVhdGVkIHdoZW4gdGhlIGNvbnRleHQgd2F0Y2hkb2cgaXMgbm90IHBhc3NlZCB0byB0aGUgY29tcG9uZW50LlxuXHQgKiBJdCBrZWVwcyB0aGUgZWRpdG9yIHJ1bm5pbmcuXG5cdCAqL1xuXHRwcml2YXRlIGVkaXRvcldhdGNoZG9nPzogQ0tFZGl0b3I1LkVkaXRvcldhdGNoZG9nO1xuXG5cdC8qKlxuXHQgKiBJZiB0aGUgY29tcG9uZW50IGlzIHJlYWTigJNvbmx5IGJlZm9yZSB0aGUgZWRpdG9yIGluc3RhbmNlIGlzIGNyZWF0ZWQsIGl0IHJlbWVtYmVycyB0aGF0IHN0YXRlLFxuXHQgKiBzbyB0aGUgZWRpdG9yIGNhbiBiZWNvbWUgcmVhZOKAk29ubHkgb25jZSBpdCBpcyByZWFkeS5cblx0ICovXG5cdHByaXZhdGUgaW5pdGlhbGx5RGlzYWJsZWQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQW4gaW5zdGFuY2Ugb2YgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb3JlL05nWm9uZSB0byBhbGxvdyB0aGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZWRpdG9yXG5cdCAqIHdpdGhpbmcgdGhlIEFuZ3VsYXIgZXZlbnQgbG9vcC5cblx0ICovXG5cdHByaXZhdGUgbmdab25lOiBOZ1pvbmU7XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgZXhlY3V0ZWQgd2hlbiB0aGUgY29udGVudCBvZiB0aGUgZWRpdG9yIGNoYW5nZXMuIFBhcnQgb2YgdGhlXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpIGludGVyZmFjZS5cblx0ICpcblx0ICogTm90ZTogVW5zZXQgdW5sZXNzIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYG5nTW9kZWxgLlxuXHQgKi9cblx0cHJpdmF0ZSBjdmFPbkNoYW5nZT86ICggZGF0YTogc3RyaW5nICkgPT4gdm9pZDtcblxuXHQvKipcblx0ICogQSBjYWxsYmFjayBleGVjdXRlZCB3aGVuIHRoZSBlZGl0b3IgaGFzIGJlZW4gYmx1cnJlZC4gUGFydCBvZiB0aGVcblx0ICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCAoaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9Db250cm9sVmFsdWVBY2Nlc3NvcikgaW50ZXJmYWNlLlxuXHQgKlxuXHQgKiBOb3RlOiBVbnNldCB1bmxlc3MgdGhlIGNvbXBvbmVudCB1c2VzIHRoZSBgbmdNb2RlbGAuXG5cdCAqL1xuXHRwcml2YXRlIGN2YU9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cblx0LyoqXG5cdCAqIFJlZmVyZW5jZSB0byB0aGUgc291cmNlIGVsZW1lbnQgdXNlZCBieSB0aGUgZWRpdG9yLlxuXHQgKi9cblx0cHJpdmF0ZSBlZGl0b3JFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG5cblx0LyoqXG5cdCAqIEEgbG9jayBmbGFnIHByZXZlbnRpbmcgZnJvbSBjYWxsaW5nIHRoZSBgY3ZhT25DaGFuZ2UoKWAgZHVyaW5nIHNldHRpbmcgZWRpdG9yIGRhdGEuXG5cdCAqL1xuXHRwcml2YXRlIGlzRWRpdG9yU2V0dGluZ0RhdGEgPSBmYWxzZTtcblxuXHRwcml2YXRlIGlkID0gdWlkKCk7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBuZ1pvbmU6IE5nWm9uZSApIHtcblx0XHR0aGlzLm5nWm9uZSA9IG5nWm9uZTtcblx0XHR0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBBZnRlclZpZXdJbml0IGludGVyZmFjZS5cblx0cHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmF0dGFjaFRvV2F0Y2hkb2coKTtcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgT25EZXN0cm95IGludGVyZmFjZS5cblx0cHVibGljIGFzeW5jIG5nT25EZXN0cm95KCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICggdGhpcy53YXRjaGRvZyApIHtcblx0XHRcdGF3YWl0IHRoaXMud2F0Y2hkb2cucmVtb3ZlKCB0aGlzLmlkICk7XG5cdFx0fSBlbHNlIGlmICggdGhpcy5lZGl0b3JXYXRjaGRvZyAmJiB0aGlzLmVkaXRvcldhdGNoZG9nLmVkaXRvciApIHtcblx0XHRcdGF3YWl0IHRoaXMuZWRpdG9yV2F0Y2hkb2cuZGVzdHJveSgpO1xuXG5cdFx0XHR0aGlzLmVkaXRvcldhdGNoZG9nID0gdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0cHVibGljIHdyaXRlVmFsdWUoIHZhbHVlOiBzdHJpbmcgfCBudWxsICk6IHZvaWQge1xuXHRcdC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHRoZSBgbnVsbGAgdmFsdWUgd2hlbiB0aGUgZm9ybSByZXNldHMuXG5cdFx0Ly8gQSBjb21wb25lbnQncyByZXNwb25zaWJpbGl0eSBpcyB0byByZXN0b3JlIHRvIHRoZSBpbml0aWFsIHN0YXRlLlxuXHRcdGlmICggdmFsdWUgPT09IG51bGwgKSB7XG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH1cblxuXHRcdC8vIElmIGFscmVhZHkgaW5pdGlhbGl6ZWQuXG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0Ly8gVGhlIGxvY2sgbWVjaGFuaXNtIHByZXZlbnRzIGZyb20gY2FsbGluZyBgY3ZhT25DaGFuZ2UoKWAgZHVyaW5nIGNoYW5naW5nXG5cdFx0XHQvLyB0aGUgZWRpdG9yIHN0YXRlLiBTZWUgIzEzOVxuXHRcdFx0dGhpcy5pc0VkaXRvclNldHRpbmdEYXRhID0gdHJ1ZTtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2Uuc2V0RGF0YSggdmFsdWUgKTtcblx0XHRcdHRoaXMuaXNFZGl0b3JTZXR0aW5nRGF0YSA9IGZhbHNlO1xuXHRcdH1cblx0XHQvLyBJZiBub3QsIHdhaXQgZm9yIGl0IHRvIGJlIHJlYWR5OyBzdG9yZSB0aGUgZGF0YS5cblx0XHRlbHNlIHtcblx0XHRcdHRoaXMuZGF0YSA9IHZhbHVlO1xuXG5cdFx0XHQvLyBJZiB0aGUgZWRpdG9yIGVsZW1lbnQgaXMgYWxyZWFkeSBhdmFpbGFibGUsIHRoZW4gdXBkYXRlIGl0cyBjb250ZW50LlxuXHRcdFx0Ly8gSWYgdGhlIG5nTW9kZWwgaXMgdXNlZCB0aGVuIHRoZSBlZGl0b3IgZWxlbWVudCBzaG91bGQgYmUgdXBkYXRlZCBkaXJlY3RseSBoZXJlLlxuXHRcdFx0aWYgKCB0aGlzLmVkaXRvckVsZW1lbnQgKSB7XG5cdFx0XHRcdHRoaXMuZWRpdG9yRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmRhdGE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZSggY2FsbGJhY2s6ICggZGF0YTogc3RyaW5nICkgPT4gdm9pZCApOiB2b2lkIHtcblx0XHR0aGlzLmN2YU9uQ2hhbmdlID0gY2FsbGJhY2s7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZCggY2FsbGJhY2s6ICgpID0+IHZvaWQgKTogdm9pZCB7XG5cdFx0dGhpcy5jdmFPblRvdWNoZWQgPSBjYWxsYmFjaztcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0cHVibGljIHNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQ6IGJvb2xlYW4gKTogdm9pZCB7XG5cdFx0Ly8gSWYgYWxyZWFkeSBpbml0aWFsaXplZC5cblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlLmlzUmVhZE9ubHkgPSBpc0Rpc2FibGVkO1xuXHRcdH1cblxuXHRcdC8vIFN0b3JlIHRoZSBzdGF0ZSBhbnl3YXkgdG8gdXNlIGl0IG9uY2UgdGhlIGVkaXRvciBpcyBjcmVhdGVkLlxuXHRcdHRoaXMuaW5pdGlhbGx5RGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGVkaXRvciBpbnN0YW5jZSwgc2V0cyBpbml0aWFsIGVkaXRvciBkYXRhLCB0aGVuIGludGVncmF0ZXNcblx0ICogdGhlIGVkaXRvciB3aXRoIHRoZSBBbmd1bGFyIGNvbXBvbmVudC4gVGhpcyBtZXRob2QgZG9lcyBub3QgdXNlIHRoZSBgZWRpdG9yLnNldERhdGEoKWBcblx0ICogYmVjYXVzZSBvZiB0aGUgaXNzdWUgaW4gdGhlIGNvbGxhYm9yYXRpb24gbW9kZSAoIzYpLlxuXHQgKi9cblx0cHJpdmF0ZSBhdHRhY2hUb1dhdGNoZG9nKCkge1xuXHRcdGNvbnN0IGNyZWF0b3IgPSBhc3luYyAoIGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjb25maWc6IENLRWRpdG9yNS5Db25maWcgKSA9PiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoIGFzeW5jICgpID0+IHtcblx0XHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoIGVsZW1lbnQgKTtcblxuXHRcdFx0XHRjb25zdCBlZGl0b3IgPSBhd2FpdCB0aGlzLmVkaXRvciEuY3JlYXRlKCBlbGVtZW50LCBjb25maWcgKTtcblxuXHRcdFx0XHRpZiAoIHRoaXMuaW5pdGlhbGx5RGlzYWJsZWQgKSB7XG5cdFx0XHRcdFx0ZWRpdG9yLmlzUmVhZE9ubHkgPSB0aGlzLmluaXRpYWxseURpc2FibGVkO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KCBlZGl0b3IgKTtcblx0XHRcdFx0fSApO1xuXG5cdFx0XHRcdHRoaXMuc2V0VXBFZGl0b3JFdmVudHMoIGVkaXRvciApO1xuXG5cdFx0XHRcdHJldHVybiBlZGl0b3I7XG5cdFx0XHR9ICk7XG5cdFx0fTtcblxuXHRcdGNvbnN0IGRlc3RydWN0b3IgPSBhc3luYyAoIGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvciApID0+IHtcblx0XHRcdGF3YWl0IGVkaXRvci5kZXN0cm95KCk7XG5cblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUNoaWxkKCB0aGlzLmVkaXRvckVsZW1lbnQhICk7XG5cdFx0fTtcblxuXHRcdGNvbnN0IGVtaXRFcnJvciA9ICgpID0+IHtcblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmVycm9yLmVtaXQoKTtcblx0XHRcdH0gKTtcblx0XHR9O1xuXG5cdFx0Y29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIHRoaXMudGFnTmFtZSApO1xuXHRcdGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlnKCk7XG5cblx0XHR0aGlzLmVkaXRvckVsZW1lbnQgPSBlbGVtZW50O1xuXG5cdFx0Ly8gQmFzZWQgb24gdGhlIHByZXNlbmNlIG9mIHRoZSB3YXRjaGRvZyBkZWNpZGUgaG93IHRvIGluaXRpYWxpemUgdGhlIGVkaXRvci5cblx0XHRpZiAoIHRoaXMud2F0Y2hkb2cgKSB7XG5cdFx0XHQvLyBXaGVuIHRoZSBjb250ZXh0IHdhdGNoZG9nIGlzIHBhc3NlZCBhZGQgdGhlIG5ldyBpdGVtIHRvIGl0IGJhc2VkIG9uIHRoZSBwYXNzZWQgY29uZmlndXJhdGlvbi5cblx0XHRcdHRoaXMud2F0Y2hkb2cuYWRkKCB7XG5cdFx0XHRcdGlkOiB0aGlzLmlkLFxuXHRcdFx0XHR0eXBlOiAnZWRpdG9yJyxcblx0XHRcdFx0Y3JlYXRvcixcblx0XHRcdFx0ZGVzdHJ1Y3Rvcixcblx0XHRcdFx0c291cmNlRWxlbWVudE9yRGF0YTogZWxlbWVudCxcblx0XHRcdFx0Y29uZmlnXG5cdFx0XHR9ICk7XG5cblx0XHRcdHRoaXMud2F0Y2hkb2cub24oICdpdGVtRXJyb3InLCAoIF8sIHsgaXRlbUlkIH0gKSA9PiB7XG5cdFx0XHRcdGlmICggaXRlbUlkID09PSB0aGlzLmlkICkge1xuXHRcdFx0XHRcdGVtaXRFcnJvcigpO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIEluIHRoZSBvdGhlciBjYXNlIGNyZWF0ZSB0aGUgd2F0Y2hkb2cgYnkgaGFuZCB0byBrZWVwIHRoZSBlZGl0b3IgcnVubmluZy5cblx0XHRcdGNvbnN0IGVkaXRvcldhdGNoZG9nOiBDS0VkaXRvcjUuRWRpdG9yV2F0Y2hkb2cgPSBuZXcgRWRpdG9yV2F0Y2hkb2coIHRoaXMuZWRpdG9yICk7XG5cblx0XHRcdGVkaXRvcldhdGNoZG9nLnNldENyZWF0b3IoIGNyZWF0b3IgKTtcblx0XHRcdGVkaXRvcldhdGNoZG9nLnNldERlc3RydWN0b3IoIGRlc3RydWN0b3IgKTtcblx0XHRcdGVkaXRvcldhdGNoZG9nLm9uKCAnZXJyb3InLCBlbWl0RXJyb3IgKTtcblxuXHRcdFx0dGhpcy5lZGl0b3JXYXRjaGRvZyA9IGVkaXRvcldhdGNoZG9nO1xuXG5cdFx0XHR0aGlzLmVkaXRvcldhdGNoZG9nLmNyZWF0ZSggZWxlbWVudCwgY29uZmlnICk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBnZXRDb25maWcoKSB7XG5cdFx0aWYgKCB0aGlzLmRhdGEgJiYgdGhpcy5jb25maWcuaW5pdGlhbERhdGEgKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoICdFZGl0b3IgZGF0YSBzaG91bGQgYmUgcHJvdmlkZWQgZWl0aGVyIHVzaW5nIGBjb25maWcuaW5pdGlhbERhdGFgIG9yIGBkYXRhYCBwcm9wZXJ0aWVzLicgKTtcblx0XHR9XG5cblx0XHQvLyBNZXJnZSB0d28gcG9zc2libGUgd2F5cyBvZiBwcm92aWRpbmcgZGF0YSBpbnRvIHRoZSBgY29uZmlnLmluaXRpYWxEYXRhYCBmaWVsZC5cblx0XHRyZXR1cm4ge1xuXHRcdFx0Li4udGhpcy5jb25maWcsXG5cdFx0XHRpbml0aWFsRGF0YTogdGhpcy5jb25maWcuaW5pdGlhbERhdGEgfHwgdGhpcy5kYXRhIHx8ICcnXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnRlZ3JhdGVzIHRoZSBlZGl0b3Igd2l0aCB0aGUgY29tcG9uZW50IGJ5IGF0dGFjaGluZyByZWxhdGVkIGV2ZW50IGxpc3RlbmVycy5cblx0ICovXG5cdHByaXZhdGUgc2V0VXBFZGl0b3JFdmVudHMoIGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvciApOiB2b2lkIHtcblx0XHRjb25zdCBtb2RlbERvY3VtZW50ID0gZWRpdG9yLm1vZGVsLmRvY3VtZW50O1xuXHRcdGNvbnN0IHZpZXdEb2N1bWVudCA9IGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQ7XG5cblx0XHRtb2RlbERvY3VtZW50Lm9uKCAnY2hhbmdlOmRhdGEnLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnY2hhbmdlOmRhdGEnPiApID0+IHtcblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRpZiAoIHRoaXMuY3ZhT25DaGFuZ2UgJiYgIXRoaXMuaXNFZGl0b3JTZXR0aW5nRGF0YSApIHtcblx0XHRcdFx0XHRjb25zdCBkYXRhID0gZWRpdG9yLmdldERhdGEoKTtcblxuXHRcdFx0XHRcdHRoaXMuY3ZhT25DaGFuZ2UoIGRhdGEgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuY2hhbmdlLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cblx0XHR2aWV3RG9jdW1lbnQub24oICdmb2N1cycsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdmb2N1cyc+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZm9jdXMuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblxuXHRcdHZpZXdEb2N1bWVudC5vbiggJ2JsdXInLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnYmx1cic+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdGlmICggdGhpcy5jdmFPblRvdWNoZWQgKSB7XG5cdFx0XHRcdFx0dGhpcy5jdmFPblRvdWNoZWQoKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuYmx1ci5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXHR9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NrZWRpdG9yL2NrZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7O0FBRUgsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUVWLFVBQVUsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLGNBQWMsTUFBTSxpREFBaUQsQ0FBQztBQUM3RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDO0FBRXhCLE9BQU8sRUFFTixpQkFBaUIsRUFDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQWlDeEIsTUFBTSxPQUFPLGlCQUFpQjtJQXlKN0IsWUFBb0IsVUFBc0IsRUFBRSxNQUFjO1FBN0kxRDs7OztXQUlHO1FBQ2EsV0FBTSxHQUFxQixFQUFFLENBQUM7UUFFOUM7OztXQUdHO1FBQ2EsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUUxQjs7OztXQUlHO1FBQ2EsWUFBTyxHQUFHLEtBQUssQ0FBQztRQXdCaEM7Ozs7V0FJRztRQUNjLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUU5RDs7OztXQUlHO1FBQ2MsV0FBTSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBRXJGOzs7O1dBSUc7UUFDYyxTQUFJLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7UUFFL0U7Ozs7V0FJRztRQUNjLFVBQUssR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUVsRjs7V0FFRztRQUNjLFVBQUssR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQTRCdEU7OztXQUdHO1FBQ0ssc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBNkJsQzs7V0FFRztRQUNLLHdCQUFtQixHQUFHLEtBQUss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O2FBQ0Q7OztZQTNDQSxVQUFVO1lBSlYsTUFBTTs7O3FCQTBETCxLQUFLO3FCQU9MLEtBQUs7bUJBTUwsS0FBSztzQkFPTCxLQUFLO3VCQUtMLEtBQUs7dUJBT0wsS0FBSztvQkFpQkwsTUFBTTtxQkFPTixNQUFNO21CQU9OLE1BQU07b0JBT04sTUFBTTtvQkFLTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbmltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0SW5wdXQsXG5cdE91dHB1dCxcblx0Tmdab25lLFxuXHRFdmVudEVtaXR0ZXIsXG5cdGZvcndhcmRSZWYsXG5cdEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSxcblx0RWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IEVkaXRvcldhdGNoZG9nIGZyb20gJ0Bja2VkaXRvci9ja2VkaXRvcjUtd2F0Y2hkb2cvc3JjL2VkaXRvcndhdGNoZG9nJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgdWlkIGZyb20gJy4vdWlkJztcblxuaW1wb3J0IHtcblx0Q29udHJvbFZhbHVlQWNjZXNzb3IsXG5cdE5HX1ZBTFVFX0FDQ0VTU09SXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ0tFZGl0b3I1IH0gZnJvbSAnLi9ja2VkaXRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmx1ckV2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2JsdXInPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvY3VzRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnZm9jdXMnPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUV2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2NoYW5nZTpkYXRhJz47XG5cdGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvcjtcbn1cblxuQENvbXBvbmVudCgge1xuXHRzZWxlY3RvcjogJ2NrZWRpdG9yJyxcblx0dGVtcGxhdGU6ICc8bmctdGVtcGxhdGU+PC9uZy10ZW1wbGF0ZT4nLFxuXG5cdC8vIEludGVncmF0aW9uIHdpdGggQGFuZ3VsYXIvZm9ybXMuXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoICgpID0+IENLRWRpdG9yQ29tcG9uZW50ICksXG5cdFx0XHRtdWx0aTogdHJ1ZVxuXHRcdH1cblx0XVxufSApXG5leHBvcnQgY2xhc3MgQ0tFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0LyoqXG5cdCAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIERPTSBlbGVtZW50IGNyZWF0ZWQgYnkgdGhlIGNvbXBvbmVudC5cblx0ICovXG5cdHByaXZhdGUgZWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdC8qKlxuXHQgKiBUaGUgY29uc3RydWN0b3Igb2YgdGhlIGVkaXRvciB0byBiZSB1c2VkIGZvciB0aGUgaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudC5cblx0ICogSXQgY2FuIGJlIGUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yQnVpbGRgLCBgSW5saW5lRWRpdG9yQnVpbGRgIG9yIHNvbWUgY3VzdG9tIGVkaXRvci5cblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyBlZGl0b3I/OiBDS0VkaXRvcjUuRWRpdG9yQ29uc3RydWN0b3I7XG5cblx0LyoqXG5cdCAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBlZGl0b3IuXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3Jjb25maWctRWRpdG9yQ29uZmlnLmh0bWxcblx0ICogdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyBjb25maWc6IENLRWRpdG9yNS5Db25maWcgPSB7fTtcblxuXHQvKipcblx0ICogVGhlIGluaXRpYWwgZGF0YSBvZiB0aGUgZWRpdG9yLiBVc2VmdWwgd2hlbiBub3QgdXNpbmcgdGhlIG5nTW9kZWwuXG5cdCAqIFNlZSBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL05nTW9kZWwgdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyBkYXRhID0gJyc7XG5cblx0LyoqXG5cdCAqIFRhZyBuYW1lIG9mIHRoZSBlZGl0b3IgY29tcG9uZW50LlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB0YWcgaXMgJ2RpdicuXG5cdCAqL1xuXHRASW5wdXQoKSBwdWJsaWMgdGFnTmFtZSA9ICdkaXYnO1xuXG5cdC8qKlxuXHQgKiBUaGUgY29udGV4dCB3YXRjaGRvZy5cblx0ICovXG5cdEBJbnB1dCgpIHB1YmxpYyB3YXRjaGRvZz86IENLRWRpdG9yNS5Db250ZXh0V2F0Y2hkb2c7XG5cblx0LyoqXG5cdCAqIFdoZW4gc2V0IGB0cnVlYCwgdGhlIGVkaXRvciBiZWNvbWVzIHJlYWQtb25seS5cblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbCNtZW1iZXItaXNSZWFkT25seVxuXHQgKiB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgcHVibGljIHNldCBkaXNhYmxlZCggaXNEaXNhYmxlZDogYm9vbGVhbiApIHtcblx0XHR0aGlzLnNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQgKTtcblx0fVxuXG5cdHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZWRpdG9ySW5zdGFuY2UuaXNSZWFkT25seTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5pbml0aWFsbHlEaXNhYmxlZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0b3IgaXMgcmVhZHkuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IjcmVhZHlgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbCNldmVudC1yZWFkeVxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBwdWJsaWMgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPENLRWRpdG9yNS5FZGl0b3I+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIGVkaXRvciBoYXMgY2hhbmdlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5tb2RlbC5kb2N1bWVudCNjaGFuZ2VgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2VuZ2luZV9tb2RlbF9kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWNoYW5nZVxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdGluZyB2aWV3IG9mIHRoZSBlZGl0b3IgaXMgYmx1cnJlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQjYmx1cmBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpibHVyXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIHB1YmxpYyBibHVyOiBFdmVudEVtaXR0ZXI8Qmx1ckV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Qmx1ckV2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0aW5nIHZpZXcgb2YgdGhlIGVkaXRvciBpcyBmb2N1c2VkLiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudCNmb2N1c2Bcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpmb2N1c1xuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBwdWJsaWMgZm9jdXM6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdG9yIGNvbXBvbmVudCBjcmFzaGVzLlxuXHQgKi9cblx0QE91dHB1dCgpIHB1YmxpYyBlcnJvcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdC8qKlxuXHQgKiBUaGUgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvciBjcmVhdGVkIGJ5IHRoaXMgY29tcG9uZW50LlxuXHQgKi9cblx0cHVibGljIGdldCBlZGl0b3JJbnN0YW5jZSgpOiBDS0VkaXRvcjUuRWRpdG9yIHwgbnVsbCB7XG5cdFx0bGV0IGVkaXRvcldhdGNoZG9nID0gdGhpcy5lZGl0b3JXYXRjaGRvZztcblxuXHRcdGlmICggdGhpcy53YXRjaGRvZyApIHtcblx0XHRcdC8vIFRlbXBvcmFyaWx5IHVzZSB0aGUgYF93YXRjaGRvZ3NgIGludGVybmFsIG1hcCBhcyB0aGUgYGdldEl0ZW0oKWAgbWV0aG9kIHRocm93c1xuXHRcdFx0Ly8gYW4gZXJyb3Igd2hlbiB0aGUgaXRlbSBpcyBub3QgcmVnaXN0ZXJlZCB5ZXQuXG5cdFx0XHQvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyL2lzc3Vlcy8xNzcuXG5cdFx0XHRlZGl0b3JXYXRjaGRvZyA9IHRoaXMud2F0Y2hkb2cuX3dhdGNoZG9ncy5nZXQoIHRoaXMuaWQgKTtcblx0XHR9XG5cblx0XHRpZiAoIGVkaXRvcldhdGNoZG9nICkge1xuXHRcdFx0cmV0dXJuIGVkaXRvcldhdGNoZG9nLmVkaXRvcjtcblx0XHR9XG5cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgZWRpdG9yIHdhdGNoZG9nLiBJdCBpcyBjcmVhdGVkIHdoZW4gdGhlIGNvbnRleHQgd2F0Y2hkb2cgaXMgbm90IHBhc3NlZCB0byB0aGUgY29tcG9uZW50LlxuXHQgKiBJdCBrZWVwcyB0aGUgZWRpdG9yIHJ1bm5pbmcuXG5cdCAqL1xuXHRwcml2YXRlIGVkaXRvcldhdGNoZG9nPzogQ0tFZGl0b3I1LkVkaXRvcldhdGNoZG9nO1xuXG5cdC8qKlxuXHQgKiBJZiB0aGUgY29tcG9uZW50IGlzIHJlYWTigJNvbmx5IGJlZm9yZSB0aGUgZWRpdG9yIGluc3RhbmNlIGlzIGNyZWF0ZWQsIGl0IHJlbWVtYmVycyB0aGF0IHN0YXRlLFxuXHQgKiBzbyB0aGUgZWRpdG9yIGNhbiBiZWNvbWUgcmVhZOKAk29ubHkgb25jZSBpdCBpcyByZWFkeS5cblx0ICovXG5cdHByaXZhdGUgaW5pdGlhbGx5RGlzYWJsZWQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQW4gaW5zdGFuY2Ugb2YgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb3JlL05nWm9uZSB0byBhbGxvdyB0aGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZWRpdG9yXG5cdCAqIHdpdGhpbmcgdGhlIEFuZ3VsYXIgZXZlbnQgbG9vcC5cblx0ICovXG5cdHByaXZhdGUgbmdab25lOiBOZ1pvbmU7XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgZXhlY3V0ZWQgd2hlbiB0aGUgY29udGVudCBvZiB0aGUgZWRpdG9yIGNoYW5nZXMuIFBhcnQgb2YgdGhlXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpIGludGVyZmFjZS5cblx0ICpcblx0ICogTm90ZTogVW5zZXQgdW5sZXNzIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYG5nTW9kZWxgLlxuXHQgKi9cblx0cHJpdmF0ZSBjdmFPbkNoYW5nZT86ICggZGF0YTogc3RyaW5nICkgPT4gdm9pZDtcblxuXHQvKipcblx0ICogQSBjYWxsYmFjayBleGVjdXRlZCB3aGVuIHRoZSBlZGl0b3IgaGFzIGJlZW4gYmx1cnJlZC4gUGFydCBvZiB0aGVcblx0ICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCAoaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9Db250cm9sVmFsdWVBY2Nlc3NvcikgaW50ZXJmYWNlLlxuXHQgKlxuXHQgKiBOb3RlOiBVbnNldCB1bmxlc3MgdGhlIGNvbXBvbmVudCB1c2VzIHRoZSBgbmdNb2RlbGAuXG5cdCAqL1xuXHRwcml2YXRlIGN2YU9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cblx0LyoqXG5cdCAqIFJlZmVyZW5jZSB0byB0aGUgc291cmNlIGVsZW1lbnQgdXNlZCBieSB0aGUgZWRpdG9yLlxuXHQgKi9cblx0cHJpdmF0ZSBlZGl0b3JFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG5cblx0LyoqXG5cdCAqIEEgbG9jayBmbGFnIHByZXZlbnRpbmcgZnJvbSBjYWxsaW5nIHRoZSBgY3ZhT25DaGFuZ2UoKWAgZHVyaW5nIHNldHRpbmcgZWRpdG9yIGRhdGEuXG5cdCAqL1xuXHRwcml2YXRlIGlzRWRpdG9yU2V0dGluZ0RhdGEgPSBmYWxzZTtcblxuXHRwcml2YXRlIGlkID0gdWlkKCk7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBuZ1pvbmU6IE5nWm9uZSApIHtcblx0XHR0aGlzLm5nWm9uZSA9IG5nWm9uZTtcblx0XHR0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBBZnRlclZpZXdJbml0IGludGVyZmFjZS5cblx0cHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmF0dGFjaFRvV2F0Y2hkb2coKTtcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgT25EZXN0cm95IGludGVyZmFjZS5cblx0cHVibGljIGFzeW5jIG5nT25EZXN0cm95KCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICggdGhpcy53YXRjaGRvZyApIHtcblx0XHRcdGF3YWl0IHRoaXMud2F0Y2hkb2cucmVtb3ZlKCB0aGlzLmlkICk7XG5cdFx0fSBlbHNlIGlmICggdGhpcy5lZGl0b3JXYXRjaGRvZyAmJiB0aGlzLmVkaXRvcldhdGNoZG9nLmVkaXRvciApIHtcblx0XHRcdGF3YWl0IHRoaXMuZWRpdG9yV2F0Y2hkb2cuZGVzdHJveSgpO1xuXG5cdFx0XHR0aGlzLmVkaXRvcldhdGNoZG9nID0gdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0cHVibGljIHdyaXRlVmFsdWUoIHZhbHVlOiBzdHJpbmcgfCBudWxsICk6IHZvaWQge1xuXHRcdC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHRoZSBgbnVsbGAgdmFsdWUgd2hlbiB0aGUgZm9ybSByZXNldHMuXG5cdFx0Ly8gQSBjb21wb25lbnQncyByZXNwb25zaWJpbGl0eSBpcyB0byByZXN0b3JlIHRvIHRoZSBpbml0aWFsIHN0YXRlLlxuXHRcdGlmICggdmFsdWUgPT09IG51bGwgKSB7XG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH1cblxuXHRcdC8vIElmIGFscmVhZHkgaW5pdGlhbGl6ZWQuXG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0Ly8gVGhlIGxvY2sgbWVjaGFuaXNtIHByZXZlbnRzIGZyb20gY2FsbGluZyBgY3ZhT25DaGFuZ2UoKWAgZHVyaW5nIGNoYW5naW5nXG5cdFx0XHQvLyB0aGUgZWRpdG9yIHN0YXRlLiBTZWUgIzEzOVxuXHRcdFx0dGhpcy5pc0VkaXRvclNldHRpbmdEYXRhID0gdHJ1ZTtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2Uuc2V0RGF0YSggdmFsdWUgKTtcblx0XHRcdHRoaXMuaXNFZGl0b3JTZXR0aW5nRGF0YSA9IGZhbHNlO1xuXHRcdH1cblx0XHQvLyBJZiBub3QsIHdhaXQgZm9yIGl0IHRvIGJlIHJlYWR5OyBzdG9yZSB0aGUgZGF0YS5cblx0XHRlbHNlIHtcblx0XHRcdC8vIElmIHRoZSBlZGl0b3IgZWxlbWVudCBpcyBhbHJlYWR5IGF2YWlsYWJsZSwgdGhlbiB1cGRhdGUgaXRzIGNvbnRlbnQuXG5cdFx0XHR0aGlzLmRhdGEgPSB2YWx1ZTtcblxuXHRcdFx0Ly8gSWYgbm90LCB0aGVuIHdhaXQgdW50aWwgaXQgaXMgcmVhZHlcblx0XHRcdC8vIGFuZCBjaGFuZ2UgZGF0YSBvbmx5IGZvciB0aGUgZmlyc3QgYHJlYWR5YCBldmVudC5cblx0XHRcdHRoaXMucmVhZHlcblx0XHRcdFx0LnBpcGUoIGZpcnN0KCkgKVxuXHRcdFx0XHQuc3Vic2NyaWJlKCAoIGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvciApID0+IHtcblx0XHRcdFx0XHRlZGl0b3Iuc2V0RGF0YSggdGhpcy5kYXRhICk7XG5cdFx0XHRcdH0gKTtcblx0XHR9XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKCBjYWxsYmFjazogKCBkYXRhOiBzdHJpbmcgKSA9PiB2b2lkICk6IHZvaWQge1xuXHRcdHRoaXMuY3ZhT25DaGFuZ2UgPSBjYWxsYmFjaztcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0cHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCBjYWxsYmFjazogKCkgPT4gdm9pZCApOiB2b2lkIHtcblx0XHR0aGlzLmN2YU9uVG91Y2hlZCA9IGNhbGxiYWNrO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZSggaXNEaXNhYmxlZDogYm9vbGVhbiApOiB2b2lkIHtcblx0XHQvLyBJZiBhbHJlYWR5IGluaXRpYWxpemVkLlxuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UuaXNSZWFkT25seSA9IGlzRGlzYWJsZWQ7XG5cdFx0fVxuXG5cdFx0Ly8gU3RvcmUgdGhlIHN0YXRlIGFueXdheSB0byB1c2UgaXQgb25jZSB0aGUgZWRpdG9yIGlzIGNyZWF0ZWQuXG5cdFx0dGhpcy5pbml0aWFsbHlEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgZWRpdG9yIGluc3RhbmNlLCBzZXRzIGluaXRpYWwgZWRpdG9yIGRhdGEsIHRoZW4gaW50ZWdyYXRlc1xuXHQgKiB0aGUgZWRpdG9yIHdpdGggdGhlIEFuZ3VsYXIgY29tcG9uZW50LiBUaGlzIG1ldGhvZCBkb2VzIG5vdCB1c2UgdGhlIGBlZGl0b3Iuc2V0RGF0YSgpYFxuXHQgKiBiZWNhdXNlIG9mIHRoZSBpc3N1ZSBpbiB0aGUgY29sbGFib3JhdGlvbiBtb2RlICgjNikuXG5cdCAqL1xuXHRwcml2YXRlIGF0dGFjaFRvV2F0Y2hkb2coKSB7XG5cdFx0Y29uc3QgY3JlYXRvciA9IGFzeW5jICggZWxlbWVudDogSFRNTEVsZW1lbnQsIGNvbmZpZzogQ0tFZGl0b3I1LkNvbmZpZyApID0+IHtcblx0XHRcdHJldHVybiB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhciggYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCggZWxlbWVudCApO1xuXG5cdFx0XHRcdGNvbnN0IGVkaXRvciA9IGF3YWl0IHRoaXMuZWRpdG9yIS5jcmVhdGUoIGVsZW1lbnQsIGNvbmZpZyApO1xuXG5cdFx0XHRcdGlmICggdGhpcy5pbml0aWFsbHlEaXNhYmxlZCApIHtcblx0XHRcdFx0XHRlZGl0b3IuaXNSZWFkT25seSA9IHRoaXMuaW5pdGlhbGx5RGlzYWJsZWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnJlYWR5LmVtaXQoIGVkaXRvciApO1xuXHRcdFx0XHR9ICk7XG5cblx0XHRcdFx0dGhpcy5zZXRVcEVkaXRvckV2ZW50cyggZWRpdG9yICk7XG5cblx0XHRcdFx0cmV0dXJuIGVkaXRvcjtcblx0XHRcdH0gKTtcblx0XHR9O1xuXG5cdFx0Y29uc3QgZGVzdHJ1Y3RvciA9IGFzeW5jICggZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yICkgPT4ge1xuXHRcdFx0YXdhaXQgZWRpdG9yLmRlc3Ryb3koKTtcblxuXHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQoIHRoaXMuZWRpdG9yRWxlbWVudCEgKTtcblx0XHR9O1xuXG5cdFx0Y29uc3QgZW1pdEVycm9yID0gKCkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZXJyb3IuZW1pdCgpO1xuXHRcdFx0fSApO1xuXHRcdH07XG5cblx0XHRjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggdGhpcy50YWdOYW1lICk7XG5cdFx0Y29uc3QgY29uZmlnID0gdGhpcy5nZXRDb25maWcoKTtcblxuXHRcdHRoaXMuZWRpdG9yRWxlbWVudCA9IGVsZW1lbnQ7XG5cblx0XHQvLyBCYXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2YgdGhlIHdhdGNoZG9nIGRlY2lkZSBob3cgdG8gaW5pdGlhbGl6ZSB0aGUgZWRpdG9yLlxuXHRcdGlmICggdGhpcy53YXRjaGRvZyApIHtcblx0XHRcdC8vIFdoZW4gdGhlIGNvbnRleHQgd2F0Y2hkb2cgaXMgcGFzc2VkIGFkZCB0aGUgbmV3IGl0ZW0gdG8gaXQgYmFzZWQgb24gdGhlIHBhc3NlZCBjb25maWd1cmF0aW9uLlxuXHRcdFx0dGhpcy53YXRjaGRvZy5hZGQoIHtcblx0XHRcdFx0aWQ6IHRoaXMuaWQsXG5cdFx0XHRcdHR5cGU6ICdlZGl0b3InLFxuXHRcdFx0XHRjcmVhdG9yLFxuXHRcdFx0XHRkZXN0cnVjdG9yLFxuXHRcdFx0XHRzb3VyY2VFbGVtZW50T3JEYXRhOiBlbGVtZW50LFxuXHRcdFx0XHRjb25maWdcblx0XHRcdH0gKTtcblxuXHRcdFx0dGhpcy53YXRjaGRvZy5vbiggJ2l0ZW1FcnJvcicsICggXywgeyBpdGVtSWQgfSApID0+IHtcblx0XHRcdFx0aWYgKCBpdGVtSWQgPT09IHRoaXMuaWQgKSB7XG5cdFx0XHRcdFx0ZW1pdEVycm9yKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gSW4gdGhlIG90aGVyIGNhc2UgY3JlYXRlIHRoZSB3YXRjaGRvZyBieSBoYW5kIHRvIGtlZXAgdGhlIGVkaXRvciBydW5uaW5nLlxuXHRcdFx0Y29uc3QgZWRpdG9yV2F0Y2hkb2c6IENLRWRpdG9yNS5FZGl0b3JXYXRjaGRvZyA9IG5ldyBFZGl0b3JXYXRjaGRvZyggdGhpcy5lZGl0b3IgKTtcblxuXHRcdFx0ZWRpdG9yV2F0Y2hkb2cuc2V0Q3JlYXRvciggY3JlYXRvciApO1xuXHRcdFx0ZWRpdG9yV2F0Y2hkb2cuc2V0RGVzdHJ1Y3RvciggZGVzdHJ1Y3RvciApO1xuXHRcdFx0ZWRpdG9yV2F0Y2hkb2cub24oICdlcnJvcicsIGVtaXRFcnJvciApO1xuXG5cdFx0XHR0aGlzLmVkaXRvcldhdGNoZG9nID0gZWRpdG9yV2F0Y2hkb2c7XG5cblx0XHRcdHRoaXMuZWRpdG9yV2F0Y2hkb2cuY3JlYXRlKCBlbGVtZW50LCBjb25maWcgKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGdldENvbmZpZygpIHtcblx0XHRpZiAoIHRoaXMuZGF0YSAmJiB0aGlzLmNvbmZpZy5pbml0aWFsRGF0YSApIHtcblx0XHRcdHRocm93IG5ldyBFcnJvciggJ0VkaXRvciBkYXRhIHNob3VsZCBiZSBwcm92aWRlZCBlaXRoZXIgdXNpbmcgYGNvbmZpZy5pbml0aWFsRGF0YWAgb3IgYGRhdGFgIHByb3BlcnRpZXMuJyApO1xuXHRcdH1cblxuXHRcdGNvbnN0IGNvbmZpZyA9IHsgLi4udGhpcy5jb25maWcgfTtcblxuXHRcdC8vIE1lcmdlIHR3byBwb3NzaWJsZSB3YXlzIG9mIHByb3ZpZGluZyBkYXRhIGludG8gdGhlIGBjb25maWcuaW5pdGlhbERhdGFgIGZpZWxkLlxuXHRcdGNvbnN0IGluaXRpYWxEYXRhID0gdGhpcy5jb25maWcuaW5pdGlhbERhdGEgfHwgdGhpcy5kYXRhO1xuXG5cdFx0aWYgKCBpbml0aWFsRGF0YSApIHtcblx0XHRcdC8vIERlZmluZSB0aGUgYGNvbmZpZy5pbml0aWFsRGF0YWAgb25seSB3aGVuIHRoZSBpbml0aWFsIGNvbnRlbnQgaXMgc3BlY2lmaWVkLlxuXHRcdFx0Y29uZmlnLmluaXRpYWxEYXRhID0gaW5pdGlhbERhdGE7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNvbmZpZztcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnRlZ3JhdGVzIHRoZSBlZGl0b3Igd2l0aCB0aGUgY29tcG9uZW50IGJ5IGF0dGFjaGluZyByZWxhdGVkIGV2ZW50IGxpc3RlbmVycy5cblx0ICovXG5cdHByaXZhdGUgc2V0VXBFZGl0b3JFdmVudHMoIGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvciApOiB2b2lkIHtcblx0XHRjb25zdCBtb2RlbERvY3VtZW50ID0gZWRpdG9yLm1vZGVsLmRvY3VtZW50O1xuXHRcdGNvbnN0IHZpZXdEb2N1bWVudCA9IGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQ7XG5cblx0XHRtb2RlbERvY3VtZW50Lm9uKCAnY2hhbmdlOmRhdGEnLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnY2hhbmdlOmRhdGEnPiApID0+IHtcblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRpZiAoIHRoaXMuY3ZhT25DaGFuZ2UgJiYgIXRoaXMuaXNFZGl0b3JTZXR0aW5nRGF0YSApIHtcblx0XHRcdFx0XHRjb25zdCBkYXRhID0gZWRpdG9yLmdldERhdGEoKTtcblxuXHRcdFx0XHRcdHRoaXMuY3ZhT25DaGFuZ2UoIGRhdGEgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuY2hhbmdlLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cblx0XHR2aWV3RG9jdW1lbnQub24oICdmb2N1cycsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdmb2N1cyc+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZm9jdXMuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblxuXHRcdHZpZXdEb2N1bWVudC5vbiggJ2JsdXInLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnYmx1cic+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdGlmICggdGhpcy5jdmFPblRvdWNoZWQgKSB7XG5cdFx0XHRcdFx0dGhpcy5jdmFPblRvdWNoZWQoKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuYmx1ci5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXHR9XG59XG4iXX0=
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
export {};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL21hY2llamJ1a293c2tpL3dvcmtzcGFjZS9pbnRlZ3JhdGlvbnMvY2tlZGl0b3I1LWFuZ3VsYXIvc3JjL2NrZWRpdG9yLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbnR5cGUgQW55RnVuY3Rpb24gPSAoIC4uLmFyZ3M6IGFueVtdICkgPT4gYW55O1xuXG4vKipcbiAqIEJhc2ljIHR5cGluZ3MgZm9yIHRoZSBDS0VkaXRvcjUgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgQ0tFZGl0b3I1IHtcblxuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBlZGl0b3IgY29uZmlnLlxuXHQgKi9cblx0ZXhwb3J0IGludGVyZmFjZSBDb25maWcge1xuXHRcdFsga2V5OiBzdHJpbmcgXTogYW55O1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBldmVudCBvYmplY3QgcGFzc2VkIHRvIENLRWRpdG9yNSBldmVudCBjYWxsYmFja3MuXG5cdCAqXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV91dGlsc19ldmVudGluZm8tRXZlbnRJbmZvLmh0bWxcblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRXZlbnRJbmZvPEV2ZW50TmFtZSBleHRlbmRzIHN0cmluZz4ge1xuXHRcdHJlYWRvbmx5IG5hbWU6IEV2ZW50TmFtZTtcblx0XHRyZWFkb25seSBwYXRoOiBhbnlbXTtcblx0XHRyZWFkb25seSBzb3VyY2U6IGFueTtcblx0XHRyZXR1cm4/OiBhbnk7XG5cblx0XHRvZmYoKTogdm9pZDtcblx0XHRzdG9wKCk6IHZvaWQ7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGJhc2UgRWRpdG9yIGNsYXNzLlxuXHQgKlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEJhc2VFZGl0b3Ige1xuXHRcdHJlYWRvbmx5IGNvbW1hbmRzOiBhbnk7XG5cdFx0cmVhZG9ubHkgY29uZmlnOiBhbnk7XG5cdFx0cmVhZG9ubHkgY29udmVyc2lvbjogYW55O1xuXHRcdHJlYWRvbmx5IGRhdGE6IGFueTtcblx0XHRyZWFkb25seSBlZGl0aW5nOiBhbnk7XG5cdFx0cmVhZG9ubHkga2V5c3Ryb2tlczogYW55O1xuXHRcdHJlYWRvbmx5IGxvY2FsZTogYW55O1xuXHRcdHJlYWRvbmx5IG1vZGVsOiBhbnk7XG5cdFx0cmVhZG9ubHkgcGx1Z2luczogYW55O1xuXHRcdHJlYWRvbmx5IHN0YXRlOiAnaW5pdGlhbGl6aW5nJyB8ICdyZWFkeScgfCAnZGVzdHJveWVkJztcblxuXHRcdGlzUmVhZE9ubHk6IGJvb2xlYW47XG5cblx0XHRkZWxlZ2F0ZSggZXZlbnRzOiBzdHJpbmdbXSApOiBhbnk7XG5cdFx0ZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+O1xuXHRcdGV4ZWN1dGUoIGNvbW1hbmROYW1lOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10gKTogYW55O1xuXHRcdGZpcmUoIGV2ZW50TmFtZTogc3RyaW5nLCBhcmdzPzogYW55ICk6IGFueTtcblx0XHRsaXN0ZW5UbyggZW1pdHRlcjogYW55LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEFueUZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0b2ZmKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEFueUZ1bmN0aW9uICk6IHZvaWQ7XG5cdFx0b24oIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogQW55RnVuY3Rpb24sIG9wdGlvbnM/OiBhbnkgKTogdm9pZDtcblx0XHRvbmNlKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEFueUZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0c3RvcExpc3RlbmluZyggZW1pdHRlcjogYW55LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEFueUZ1bmN0aW9uICk6IHZvaWQ7XG5cdFx0dCggLi4uYXJnczogYW55W10gKTogdm9pZDtcblxuXHRcdFsgcHJvcGVydHk6IHN0cmluZyBdOiBhbnk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBEYXRhQXBpIGludGVyZmFjZS5cblx0ICpcblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX3V0aWxzX2RhdGFhcGltaXhpbi1EYXRhQXBpLmh0bWwuXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIERhdGFBcGkge1xuXHRcdGdldERhdGEoKTogc3RyaW5nO1xuXHRcdHNldERhdGEoIGRhdGE6IHN0cmluZyApOiB2b2lkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEEgQ0tFZGl0b3I1IGVkaXRvciB0aGF0IGltcGxlbWVudHMgdGhlXG5cdCAqIFtEYXRhQXBpIGludGVyZmFjZV0oaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfdXRpbHNfZGF0YWFwaW1peGluLURhdGFBcGkuaHRtbCkuXG5cdCAqIEUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yYCwgYElubGluZUVkaXRvcmAsIGV0Yy5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yIGV4dGVuZHMgQmFzZUVkaXRvciwgRGF0YUFwaSB7fVxuXG5cdC8qKlxuXHQgKiBUaGUgQ0tFZGl0b3I1IGVkaXRvciBjb25zdHJ1Y3Rvci5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yQ29uc3RydWN0b3Ige1xuXHRcdGNyZWF0ZSggc291cmNlRWxlbWVudE9yRGF0YTogSFRNTEVsZW1lbnQgfCBzdHJpbmcsIGNvbmZpZz86IENvbmZpZyApOiBQcm9taXNlPEVkaXRvcj47XG5cdH1cblxuXHRleHBvcnQgaW50ZXJmYWNlIFdhdGNoZG9nPFQ+IHtcblx0XHRzZXRDcmVhdG9yKCBjcmVhdG9yOiAoIC4uLmFyZ3M6IGFueVtdICkgPT4gUHJvbWlzZTxUPiApOiB2b2lkO1xuXHRcdHNldERlc3RydWN0b3IoIGRlc3RydWN0b3I6ICggaXRlbTogVCApID0+IFByb21pc2U8dm9pZD4gKTogdm9pZDtcblx0XHRvbiggZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s6ICggLi4uYXJnczogYW55W10gKSA9PiBhbnkgKTogdm9pZDtcblx0XHRkZXN0cm95KCk6IFByb21pc2U8dm9pZD47XG5cdFx0Y3JlYXRlKCAuLi5hcmdzOiBhbnlbXSApOiBQcm9taXNlPHZvaWQ+O1xuXHR9XG5cblx0ZXhwb3J0IGludGVyZmFjZSBFZGl0b3JXYXRjaGRvZyBleHRlbmRzIFdhdGNoZG9nPEVkaXRvcj4ge1xuXHRcdGVkaXRvcjogRWRpdG9yO1xuXHR9XG5cblx0ZXhwb3J0IGludGVyZmFjZSBDb250ZXh0V2F0Y2hkb2cgZXh0ZW5kcyBXYXRjaGRvZzxhbnk+IHtcblx0XHRjb250ZXh0OiBhbnk7XG5cdFx0X3dhdGNoZG9nczogTWFwPHN0cmluZywgRWRpdG9yV2F0Y2hkb2c+O1xuXHRcdGFkZCggaXRlbXM6IGFueSApOiBQcm9taXNlPHZvaWQ+O1xuXHRcdHJlbW92ZSggaXRlbXM6IHN0cmluZyB8IHN0cmluZ1tdICk6IFByb21pc2U8dm9pZD47XG5cdFx0Z2V0SXRlbSggaXRlbUlkOiBzdHJpbmcgKTogRWRpdG9yO1xuXHRcdGFkZEl0ZW1XYXRjaGRvZyggaXRlbUlkOiBzdHJpbmcsIGl0ZW1UeXBlOiBzdHJpbmcsIHdhdGNoZG9nOiBXYXRjaGRvZzxhbnk+ICk6IFByb21pc2U8dm9pZD47XG5cdH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2tlZGl0b3IvY2tlZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbnR5cGUgQW55RnVuY3Rpb24gPSAoIC4uLmFyZ3M6IGFueVtdICkgPT4gYW55O1xuXG4vKipcbiAqIEJhc2ljIHR5cGluZ3MgZm9yIHRoZSBDS0VkaXRvcjUgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgQ0tFZGl0b3I1IHtcblxuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBlZGl0b3IgY29uZmlnLlxuXHQgKi9cblx0ZXhwb3J0IGludGVyZmFjZSBDb25maWcge1xuXHRcdFsga2V5OiBzdHJpbmcgXTogYW55O1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBldmVudCBvYmplY3QgcGFzc2VkIHRvIENLRWRpdG9yNSBldmVudCBjYWxsYmFja3MuXG5cdCAqXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV91dGlsc19ldmVudGluZm8tRXZlbnRJbmZvLmh0bWxcblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRXZlbnRJbmZvPEV2ZW50TmFtZSBleHRlbmRzIHN0cmluZz4ge1xuXHRcdHJlYWRvbmx5IG5hbWU6IEV2ZW50TmFtZTtcblx0XHRyZWFkb25seSBwYXRoOiBhbnlbXTtcblx0XHRyZWFkb25seSBzb3VyY2U6IGFueTtcblx0XHRyZXR1cm4/OiBhbnk7XG5cblx0XHRvZmYoKTogdm9pZDtcblx0XHRzdG9wKCk6IHZvaWQ7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGJhc2UgRWRpdG9yIGNsYXNzLlxuXHQgKlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEJhc2VFZGl0b3Ige1xuXHRcdHJlYWRvbmx5IGNvbW1hbmRzOiBhbnk7XG5cdFx0cmVhZG9ubHkgY29uZmlnOiBhbnk7XG5cdFx0cmVhZG9ubHkgY29udmVyc2lvbjogYW55O1xuXHRcdHJlYWRvbmx5IGRhdGE6IGFueTtcblx0XHRyZWFkb25seSBlZGl0aW5nOiBhbnk7XG5cdFx0cmVhZG9ubHkga2V5c3Ryb2tlczogYW55O1xuXHRcdHJlYWRvbmx5IGxvY2FsZTogYW55O1xuXHRcdHJlYWRvbmx5IG1vZGVsOiBhbnk7XG5cdFx0cmVhZG9ubHkgcGx1Z2luczogYW55O1xuXHRcdHJlYWRvbmx5IHN0YXRlOiAnaW5pdGlhbGl6aW5nJyB8ICdyZWFkeScgfCAnZGVzdHJveWVkJztcblxuXHRcdGlzUmVhZE9ubHk6IGJvb2xlYW47XG5cblx0XHRkZWxlZ2F0ZSggZXZlbnRzOiBzdHJpbmdbXSApOiBhbnk7XG5cdFx0ZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+O1xuXHRcdGV4ZWN1dGUoIGNvbW1hbmROYW1lOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10gKTogYW55O1xuXHRcdGZpcmUoIGV2ZW50TmFtZTogc3RyaW5nLCBhcmdzPzogYW55ICk6IGFueTtcblx0XHRsaXN0ZW5UbyggZW1pdHRlcjogYW55LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEFueUZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0b2ZmKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEFueUZ1bmN0aW9uICk6IHZvaWQ7XG5cdFx0b24oIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogQW55RnVuY3Rpb24sIG9wdGlvbnM/OiBhbnkgKTogdm9pZDtcblx0XHRvbmNlKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEFueUZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0c3RvcExpc3RlbmluZyggZW1pdHRlcjogYW55LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEFueUZ1bmN0aW9uICk6IHZvaWQ7XG5cdFx0dCggLi4uYXJnczogYW55W10gKTogdm9pZDtcblxuXHRcdFsgcHJvcGVydHk6IHN0cmluZyBdOiBhbnk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBEYXRhQXBpIGludGVyZmFjZS5cblx0ICpcblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX3V0aWxzX2RhdGFhcGltaXhpbi1EYXRhQXBpLmh0bWwuXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIERhdGFBcGkge1xuXHRcdGdldERhdGEoKTogc3RyaW5nO1xuXHRcdHNldERhdGEoIGRhdGE6IHN0cmluZyApOiB2b2lkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEEgQ0tFZGl0b3I1IGVkaXRvciB0aGF0IGltcGxlbWVudHMgdGhlXG5cdCAqIFtEYXRhQXBpIGludGVyZmFjZV0oaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfdXRpbHNfZGF0YWFwaW1peGluLURhdGFBcGkuaHRtbCkuXG5cdCAqIEUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yYCwgYElubGluZUVkaXRvcmAsIGV0Yy5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yIGV4dGVuZHMgQmFzZUVkaXRvciwgRGF0YUFwaSB7fVxuXG5cdC8qKlxuXHQgKiBUaGUgQ0tFZGl0b3I1IGVkaXRvciBjb25zdHJ1Y3Rvci5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yQ29uc3RydWN0b3Ige1xuXHRcdGNyZWF0ZSggc291cmNlRWxlbWVudE9yRGF0YTogSFRNTEVsZW1lbnQgfCBzdHJpbmcsIGNvbmZpZz86IENvbmZpZyApOiBQcm9taXNlPEVkaXRvcj47XG5cdH1cblxuXHRleHBvcnQgaW50ZXJmYWNlIFdhdGNoZG9nPFQ+IHtcblx0XHRzZXRDcmVhdG9yKCBjcmVhdG9yOiAoIC4uLmFyZ3M6IGFueVtdICkgPT4gUHJvbWlzZTxUPiApOiB2b2lkO1xuXHRcdHNldERlc3RydWN0b3IoIGRlc3RydWN0b3I6ICggaXRlbTogVCApID0+IFByb21pc2U8dm9pZD4gKTogdm9pZDtcblx0XHRvbiggZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s6ICggLi4uYXJnczogYW55W10gKSA9PiBhbnkgKTogdm9pZDtcblx0XHRkZXN0cm95KCk6IFByb21pc2U8dm9pZD47XG5cdFx0Y3JlYXRlKCAuLi5hcmdzOiBhbnlbXSApOiBQcm9taXNlPHZvaWQ+O1xuXHR9XG5cblx0ZXhwb3J0IGludGVyZmFjZSBFZGl0b3JXYXRjaGRvZyBleHRlbmRzIFdhdGNoZG9nPEVkaXRvcj4ge1xuXHRcdGVkaXRvcjogRWRpdG9yO1xuXHR9XG5cblx0ZXhwb3J0IGludGVyZmFjZSBDb250ZXh0V2F0Y2hkb2cgZXh0ZW5kcyBXYXRjaGRvZzxhbnk+IHtcblx0XHRjb250ZXh0OiBhbnk7XG5cdFx0X3dhdGNoZG9nczogTWFwPHN0cmluZywgRWRpdG9yV2F0Y2hkb2c+O1xuXHRcdGFkZCggaXRlbXM6IGFueSApOiBQcm9taXNlPHZvaWQ+O1xuXHRcdHJlbW92ZSggaXRlbXM6IHN0cmluZyB8IHN0cmluZ1tdICk6IFByb21pc2U8dm9pZD47XG5cdFx0Z2V0SXRlbSggaXRlbUlkOiBzdHJpbmcgKTogRWRpdG9yO1xuXHRcdGFkZEl0ZW1XYXRjaGRvZyggaXRlbUlkOiBzdHJpbmcsIGl0ZW1UeXBlOiBzdHJpbmcsIHdhdGNoZG9nOiBXYXRjaGRvZzxhbnk+ICk6IFByb21pc2U8dm9pZD47XG5cdH1cbn1cbiJdfQ==
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -18,2 +18,2 @@ */

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9tYWNpZWpidWtvd3NraS93b3Jrc3BhY2UvaW50ZWdyYXRpb25zL2NrZWRpdG9yNS1hbmd1bGFyL3NyYy9ja2VkaXRvci8iLCJzb3VyY2VzIjpbImNrZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPekQsTUFBTSxPQUFPLGNBQWM7OztZQUwxQixRQUFRLFNBQUU7Z0JBQ1YsT0FBTyxFQUFFLENBQUUsV0FBVyxFQUFFLFlBQVksQ0FBRTtnQkFDdEMsWUFBWSxFQUFFLENBQUUsaUJBQWlCLENBQUU7Z0JBQ25DLE9BQU8sRUFBRSxDQUFFLGlCQUFpQixDQUFFO2FBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDS0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY2tlZGl0b3IuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKCB7XG5cdGltcG9ydHM6IFsgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSBdLFxuXHRkZWNsYXJhdGlvbnM6IFsgQ0tFZGl0b3JDb21wb25lbnQgXSxcblx0ZXhwb3J0czogWyBDS0VkaXRvckNvbXBvbmVudCBdXG59IClcbmV4cG9ydCBjbGFzcyBDS0VkaXRvck1vZHVsZSB7fVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NrZWRpdG9yL2NrZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPekQsTUFBTSxPQUFPLGNBQWM7OztZQUwxQixRQUFRLFNBQUU7Z0JBQ1YsT0FBTyxFQUFFLENBQUUsV0FBVyxFQUFFLFlBQVksQ0FBRTtnQkFDdEMsWUFBWSxFQUFFLENBQUUsaUJBQWlCLENBQUU7Z0JBQ25DLE9BQU8sRUFBRSxDQUFFLGlCQUFpQixDQUFFO2FBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDS0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY2tlZGl0b3IuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKCB7XG5cdGltcG9ydHM6IFsgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSBdLFxuXHRkZWNsYXJhdGlvbnM6IFsgQ0tFZGl0b3JDb21wb25lbnQgXSxcblx0ZXhwb3J0czogWyBDS0VkaXRvckNvbXBvbmVudCBdXG59IClcbmV4cG9ydCBjbGFzcyBDS0VkaXRvck1vZHVsZSB7fVxuIl19
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -8,2 +8,2 @@ */

export * from './ckeditor.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL21hY2llamJ1a293c2tpL3dvcmtzcGFjZS9pbnRlZ3JhdGlvbnMvY2tlZGl0b3I1LWFuZ3VsYXIvc3JjL2NrZWRpdG9yLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vY2tlZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9ja2VkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ja2VkaXRvci5tb2R1bGUnO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2tlZGl0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMSwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vY2tlZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9ja2VkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ja2VkaXRvci5tb2R1bGUnO1xuIl19
/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license

@@ -56,2 +56,2 @@ */

export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlkLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9tYWNpZWpidWtvd3NraS93b3Jrc3BhY2UvaW50ZWdyYXRpb25zL2NrZWRpdG9yNS1hbmd1bGFyL3NyYy9ja2VkaXRvci8iLCJzb3VyY2VzIjpbInVpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7V0FPSSxDQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUcsRUFBRSxDQUFDLENBQUUsR0FBRyxHQUFHLENBQUUsS0FBSyxDQUFFLENBQUMsUUFBUSxDQUFFLEVBQUUsQ0FBRSxDQUFFLENBQUMsS0FBSyxDQUFFLENBQUMsQ0FBQyxDQUFFO0FBTHZFLGlEQUFpRDtBQUVqRCxrRkFBa0Y7QUFDbEYsd0NBQXdDO0FBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFFLEdBQUcsQ0FBRSxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUU7S0FDNUMsR0FBRyxJQUFvRSxDQUFDO0FBRTFFOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsR0FBRztJQUMxQiwwREFBMEQ7SUFDMUQsRUFBRTtJQUNGLCtDQUErQztJQUMvQyx1Q0FBdUM7SUFDdkMsb0VBQW9FO0lBQ3BFLEVBQUU7SUFDRixnQkFBZ0I7SUFDaEIsbURBQW1EO0lBQ25ELE1BQU07SUFDTixtREFBbUQ7SUFDbkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFFN0MsZ0RBQWdEO0lBQ2hELE9BQU8sR0FBRztRQUNULFdBQVcsQ0FBRSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBRTtRQUM3QixXQUFXLENBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUU7UUFDN0IsV0FBVyxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFFO1FBQzlCLFdBQVcsQ0FBRSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBRTtRQUM5QixXQUFXLENBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUU7UUFDN0IsV0FBVyxDQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFFO1FBQzdCLFdBQVcsQ0FBRSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBRTtRQUM5QixXQUFXLENBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUU7UUFDOUIsV0FBVyxDQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFFO1FBQzdCLFdBQVcsQ0FBRSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBRTtRQUM3QixXQUFXLENBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUU7UUFDOUIsV0FBVyxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFFO1FBQzlCLFdBQVcsQ0FBRSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBRTtRQUM3QixXQUFXLENBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUU7UUFDN0IsV0FBVyxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFFO1FBQzlCLFdBQVcsQ0FBRSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBRSxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vLyBBIGNvcHkgb2YgQGNrZWRpdG9yL2NrZWRpdG9yNS11dGlscy9zcmMvdWlkLmpzXG5cbi8vIEEgaGFzaCB0YWJsZSBvZiBoZXggbnVtYmVycyB0byBhdm9pZCB1c2luZyB0b1N0cmluZygpIGluIHVpZCgpIHdoaWNoIGlzIGNvc3RseS5cbi8vIFsgJzAwJywgJzAxJywgJzAyJywgLi4uLCAnZmUnLCAnZmYnIF1cbmNvbnN0IEhFWF9OVU1CRVJTID0gbmV3IEFycmF5KCAyNTYgKS5maWxsKCAwIClcblx0Lm1hcCggKCB2YWwsIGluZGV4ICkgPT4gKCAnMCcgKyAoIGluZGV4ICkudG9TdHJpbmcoIDE2ICkgKS5zbGljZSggLTIgKSApO1xuXG4vKipcbiAqIFJldHVybnMgYSB1bmlxdWUgaWQuIFRoZSBpZCBzdGFydHMgd2l0aCBhbiBcImVcIiBjaGFyYWN0ZXIgYW5kIGEgcmFuZG9tbHkgZ2VuZXJhdGVkIHN0cmluZyBvZlxuICogMzIgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuXG4gKlxuICogKipOb3RlKio6IFRoZSBjaGFyYWN0ZXJzIHRoZSB1bmlxdWUgaWQgaXMgYnVpbHQgZnJvbSBjb3JyZXNwb25kIHRvIHRoZSBoZXggbnVtYmVyIG5vdGF0aW9uXG4gKiAoZnJvbSBcIjBcIiB0byBcIjlcIiwgZnJvbSBcImFcIiB0byBcImZcIikuIEluIG90aGVyIHdvcmRzLCBlYWNoIGlkIGNvcnJlc3BvbmRzIHRvIGFuIFwiZVwiIGZvbGxvd2VkXG4gKiBieSAxNiA4LWJpdCBudW1iZXJzIG5leHQgdG8gZWFjaCBvdGhlci5cbiAqXG4gKiBAcmV0dXJucyBBbiB1bmlxdWUgaWQgc3RyaW5nLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1aWQoKTogc3RyaW5nIHtcblx0Ly8gTGV0J3MgY3JlYXRlIHNvbWUgcG9zaXRpdmUgcmFuZG9tIDMyYml0IGludGVnZXJzIGZpcnN0LlxuXHQvL1xuXHQvLyAxLiBNYXRoLnJhbmRvbSgpIGlzIGEgZmxvYXQgYmV0d2VlbiAwIGFuZCAxLlxuXHQvLyAyLiAweDEwMDAwMDAwMCBpcyAyXjMyID0gNDI5NDk2NzI5Ni5cblx0Ly8gMy4gPj4+IDAgZW5mb3JjZXMgaW50ZWdlciAoaW4gSlMgYWxsIG51bWJlcnMgYXJlIGZsb2F0aW5nIHBvaW50KS5cblx0Ly9cblx0Ly8gRm9yIGluc3RhbmNlOlxuXHQvL1x0XHRNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDAgPSAzMzY2NDUwMDMxLjg1Mzg1OVxuXHQvLyBidXRcblx0Ly9cdFx0TWF0aC5yYW5kb20oKSAqIDB4MTAwMDAwMDAwID4+PiAwID0gMzM2NjQ1MDAzMS5cblx0Y29uc3QgcjEgPSBNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDAgPj4+IDA7XG5cdGNvbnN0IHIyID0gTWF0aC5yYW5kb20oKSAqIDB4MTAwMDAwMDAwID4+PiAwO1xuXHRjb25zdCByMyA9IE1hdGgucmFuZG9tKCkgKiAweDEwMDAwMDAwMCA+Pj4gMDtcblx0Y29uc3QgcjQgPSBNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDAgPj4+IDA7XG5cblx0Ly8gTWFrZSBzdXJlIHRoYXQgaWQgZG9lcyBub3Qgc3RhcnQgd2l0aCBudW1iZXIuXG5cdHJldHVybiAnZScgK1xuXHRcdEhFWF9OVU1CRVJTWyByMSA+PiAwICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjEgPj4gOCAmIDB4RkYgXSArXG5cdFx0SEVYX05VTUJFUlNbIHIxID4+IDE2ICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjEgPj4gMjQgJiAweEZGIF0gK1xuXHRcdEhFWF9OVU1CRVJTWyByMiA+PiAwICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjIgPj4gOCAmIDB4RkYgXSArXG5cdFx0SEVYX05VTUJFUlNbIHIyID4+IDE2ICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjIgPj4gMjQgJiAweEZGIF0gK1xuXHRcdEhFWF9OVU1CRVJTWyByMyA+PiAwICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjMgPj4gOCAmIDB4RkYgXSArXG5cdFx0SEVYX05VTUJFUlNbIHIzID4+IDE2ICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjMgPj4gMjQgJiAweEZGIF0gK1xuXHRcdEhFWF9OVU1CRVJTWyByNCA+PiAwICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjQgPj4gOCAmIDB4RkYgXSArXG5cdFx0SEVYX05VTUJFUlNbIHI0ID4+IDE2ICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjQgPj4gMjQgJiAweEZGIF07XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NrZWRpdG9yL3VpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7V0FPSSxDQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUcsRUFBRSxDQUFDLENBQUUsR0FBRyxHQUFHLENBQUUsS0FBSyxDQUFFLENBQUMsUUFBUSxDQUFFLEVBQUUsQ0FBRSxDQUFFLENBQUMsS0FBSyxDQUFFLENBQUMsQ0FBQyxDQUFFO0FBTHZFLGlEQUFpRDtBQUVqRCxrRkFBa0Y7QUFDbEYsd0NBQXdDO0FBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFFLEdBQUcsQ0FBRSxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUU7S0FDNUMsR0FBRyxJQUFvRSxDQUFDO0FBRTFFOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsR0FBRztJQUMxQiwwREFBMEQ7SUFDMUQsRUFBRTtJQUNGLCtDQUErQztJQUMvQyx1Q0FBdUM7SUFDdkMsb0VBQW9FO0lBQ3BFLEVBQUU7SUFDRixnQkFBZ0I7SUFDaEIsbURBQW1EO0lBQ25ELE1BQU07SUFDTixtREFBbUQ7SUFDbkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFFN0MsZ0RBQWdEO0lBQ2hELE9BQU8sR0FBRztRQUNULFdBQVcsQ0FBRSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBRTtRQUM3QixXQUFXLENBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUU7UUFDN0IsV0FBVyxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFFO1FBQzlCLFdBQVcsQ0FBRSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBRTtRQUM5QixXQUFXLENBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUU7UUFDN0IsV0FBVyxDQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFFO1FBQzdCLFdBQVcsQ0FBRSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBRTtRQUM5QixXQUFXLENBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUU7UUFDOUIsV0FBVyxDQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFFO1FBQzdCLFdBQVcsQ0FBRSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBRTtRQUM3QixXQUFXLENBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUU7UUFDOUIsV0FBVyxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFFO1FBQzlCLFdBQVcsQ0FBRSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBRTtRQUM3QixXQUFXLENBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUU7UUFDN0IsV0FBVyxDQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFFO1FBQzlCLFdBQVcsQ0FBRSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBRSxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDIxLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vLyBBIGNvcHkgb2YgQGNrZWRpdG9yL2NrZWRpdG9yNS11dGlscy9zcmMvdWlkLmpzXG5cbi8vIEEgaGFzaCB0YWJsZSBvZiBoZXggbnVtYmVycyB0byBhdm9pZCB1c2luZyB0b1N0cmluZygpIGluIHVpZCgpIHdoaWNoIGlzIGNvc3RseS5cbi8vIFsgJzAwJywgJzAxJywgJzAyJywgLi4uLCAnZmUnLCAnZmYnIF1cbmNvbnN0IEhFWF9OVU1CRVJTID0gbmV3IEFycmF5KCAyNTYgKS5maWxsKCAwIClcblx0Lm1hcCggKCB2YWwsIGluZGV4ICkgPT4gKCAnMCcgKyAoIGluZGV4ICkudG9TdHJpbmcoIDE2ICkgKS5zbGljZSggLTIgKSApO1xuXG4vKipcbiAqIFJldHVybnMgYSB1bmlxdWUgaWQuIFRoZSBpZCBzdGFydHMgd2l0aCBhbiBcImVcIiBjaGFyYWN0ZXIgYW5kIGEgcmFuZG9tbHkgZ2VuZXJhdGVkIHN0cmluZyBvZlxuICogMzIgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuXG4gKlxuICogKipOb3RlKio6IFRoZSBjaGFyYWN0ZXJzIHRoZSB1bmlxdWUgaWQgaXMgYnVpbHQgZnJvbSBjb3JyZXNwb25kIHRvIHRoZSBoZXggbnVtYmVyIG5vdGF0aW9uXG4gKiAoZnJvbSBcIjBcIiB0byBcIjlcIiwgZnJvbSBcImFcIiB0byBcImZcIikuIEluIG90aGVyIHdvcmRzLCBlYWNoIGlkIGNvcnJlc3BvbmRzIHRvIGFuIFwiZVwiIGZvbGxvd2VkXG4gKiBieSAxNiA4LWJpdCBudW1iZXJzIG5leHQgdG8gZWFjaCBvdGhlci5cbiAqXG4gKiBAcmV0dXJucyBBbiB1bmlxdWUgaWQgc3RyaW5nLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1aWQoKTogc3RyaW5nIHtcblx0Ly8gTGV0J3MgY3JlYXRlIHNvbWUgcG9zaXRpdmUgcmFuZG9tIDMyYml0IGludGVnZXJzIGZpcnN0LlxuXHQvL1xuXHQvLyAxLiBNYXRoLnJhbmRvbSgpIGlzIGEgZmxvYXQgYmV0d2VlbiAwIGFuZCAxLlxuXHQvLyAyLiAweDEwMDAwMDAwMCBpcyAyXjMyID0gNDI5NDk2NzI5Ni5cblx0Ly8gMy4gPj4+IDAgZW5mb3JjZXMgaW50ZWdlciAoaW4gSlMgYWxsIG51bWJlcnMgYXJlIGZsb2F0aW5nIHBvaW50KS5cblx0Ly9cblx0Ly8gRm9yIGluc3RhbmNlOlxuXHQvL1x0XHRNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDAgPSAzMzY2NDUwMDMxLjg1Mzg1OVxuXHQvLyBidXRcblx0Ly9cdFx0TWF0aC5yYW5kb20oKSAqIDB4MTAwMDAwMDAwID4+PiAwID0gMzM2NjQ1MDAzMS5cblx0Y29uc3QgcjEgPSBNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDAgPj4+IDA7XG5cdGNvbnN0IHIyID0gTWF0aC5yYW5kb20oKSAqIDB4MTAwMDAwMDAwID4+PiAwO1xuXHRjb25zdCByMyA9IE1hdGgucmFuZG9tKCkgKiAweDEwMDAwMDAwMCA+Pj4gMDtcblx0Y29uc3QgcjQgPSBNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDAgPj4+IDA7XG5cblx0Ly8gTWFrZSBzdXJlIHRoYXQgaWQgZG9lcyBub3Qgc3RhcnQgd2l0aCBudW1iZXIuXG5cdHJldHVybiAnZScgK1xuXHRcdEhFWF9OVU1CRVJTWyByMSA+PiAwICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjEgPj4gOCAmIDB4RkYgXSArXG5cdFx0SEVYX05VTUJFUlNbIHIxID4+IDE2ICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjEgPj4gMjQgJiAweEZGIF0gK1xuXHRcdEhFWF9OVU1CRVJTWyByMiA+PiAwICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjIgPj4gOCAmIDB4RkYgXSArXG5cdFx0SEVYX05VTUJFUlNbIHIyID4+IDE2ICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjIgPj4gMjQgJiAweEZGIF0gK1xuXHRcdEhFWF9OVU1CRVJTWyByMyA+PiAwICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjMgPj4gOCAmIDB4RkYgXSArXG5cdFx0SEVYX05VTUJFUlNbIHIzID4+IDE2ICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjMgPj4gMjQgJiAweEZGIF0gK1xuXHRcdEhFWF9OVU1CRVJTWyByNCA+PiAwICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjQgPj4gOCAmIDB4RkYgXSArXG5cdFx0SEVYX05VTUJFUlNbIHI0ID4+IDE2ICYgMHhGRiBdICtcblx0XHRIRVhfTlVNQkVSU1sgcjQgPj4gMjQgJiAweEZGIF07XG59XG4iXX0=
import { __awaiter } from 'tslib';
import { EventEmitter, Component, forwardRef, ElementRef, NgZone, Input, Output, NgModule } from '@angular/core';
import EditorWatchdog from '@ckeditor/ckeditor5-watchdog/src/editorwatchdog';
import { first } from 'rxjs/operators';
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';

@@ -8,3 +9,3 @@ import { CommonModule } from '@angular/common';

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -14,3 +15,3 @@ */

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license

@@ -70,3 +71,3 @@ */

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -197,8 +198,11 @@ */

else {
// If the editor element is already available, then update its content.
this.data = value;
// If the editor element is already available, then update its content.
// If the ngModel is used then the editor element should be updated directly here.
if (this.editorElement) {
this.editorElement.innerHTML = this.data;
}
// If not, then wait until it is ready
// and change data only for the first `ready` event.
this.ready
.pipe(first())
.subscribe((editor) => {
editor.setData(this.data);
});
}

@@ -286,4 +290,10 @@ }

}
const config = Object.assign({}, this.config);
// Merge two possible ways of providing data into the `config.initialData` field.
return Object.assign(Object.assign({}, this.config), { initialData: this.config.initialData || this.data || '' });
const initialData = this.config.initialData || this.data;
if (initialData) {
// Define the `config.initialData` only when the initial content is specified.
config.initialData = initialData;
}
return config;
}

@@ -354,3 +364,3 @@ /**

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -369,3 +379,3 @@ */

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -372,0 +382,0 @@ */

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -4,0 +4,0 @@ */

@@ -5,3 +5,3 @@ Software License Agreement

**CKEditor 5 component for Angular** – https://github.com/ckeditor/ckeditor5-angular <br>
Copyright (c) 2003-2020, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.
Copyright (c) 2003-2021, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.

@@ -8,0 +8,0 @@ Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).

{
"name": "@ckeditor/ckeditor5-angular",
"version": "2.0.1",
"version": "2.0.2",
"description": "Official Angular component for CKEditor 5 – the best browser-based rich text editor.",

@@ -24,3 +24,4 @@ "keywords": [

"@angular/common": ">=9.0.0",
"@angular/forms": ">=9.0.0"
"@angular/forms": ">=9.0.0",
"rxjs": ">=6.0.0"
},

@@ -27,0 +28,0 @@ "dependencies": {

@@ -25,6 +25,9 @@ # CKEditor 5 rich text editor component for Angular

The integration can be used together with Angular at version `9.1.0` and higher. It is an implication of Angular metadata produced for this package by the Angular builder. Note that the `package.json` used in the main repository isn't published on NPM (the production one is present in `src/ckeditor/package.json`), so there are only a few peer dependencies to `@angular/core >= 9.0.0`, `@angular/common >= 9.0.0` and `@angular/forms >= 9.0.0` required by this package.
Because of the breaking changes in the Angular library output format, the `ckeditor5-angular` package is released in the following versions to support various Angular ecosystems:
**Note:** For Angular >= 5.0.0 && < 9.0.0 use `ckeditor5-angular@1.x.x` releases.
* Versions `1.x.x` &ndash; For **Angular 5-8** applications. Support for this version will end when the official support for Angular 8 is dropped (planned date: November 2020).
* Versions `2.x.x` &ndash; For **Angular 9.1+** applications. This version is currently actively supported.
Note that the `package.json` file used in the main repository isn't published on npm (the production one is present in `src/ckeditor/package.json`), so there are only a few peer dependencies to `@angular/core >= 9.0.0`, `@angular/common >= 9.0.0` and `@angular/forms >= 9.0.0` required by this package.
## Contributing

@@ -42,3 +45,3 @@

* `./src/ckeditor` contains the implementation of `<ckeditor>` component,
* `./src/ckeditor` contains the implementation of the `<ckeditor>` component,
* `./src/app` is a demo application using the component.

@@ -50,3 +53,3 @@

First, the CKEditor 5 build should be created of source files:
First, the CKEditor 5 build should be created out of source files:

@@ -75,3 +78,3 @@ ```bash

To run e2e tests run:
To run e2e tests, run:

@@ -82,3 +85,3 @@ ```bash

To run coverage tests run:
To run coverage tests, run:

@@ -101,5 +104,5 @@ ```bash

**Note** This step is optional in the release process (the script is executed anyway by the postversion hook) but it is required to test the package used as an NPM dependency.
**Note** This step is optional in the release process (the script is executed anyway by the postversion hook) but it is required to test the package used as an npm dependency.
This project uses [ng-packagr](https://www.npmjs.com/package/ng-packagr) to create a package meeting the Angular Package Format specification.
This project uses [ng-packagr](https://www.npmjs.com/package/ng-packagr) to create the package meeting the Angular Package Format specification.

@@ -118,3 +121,3 @@ Calling:

Then, create a symlink to the `ckeditor5-angular/dist` package directory to test the `ckeditor5-angular` via this repository.
Then, create a symlink to the `ckeditor5-angular/dist` package directory to test the `ckeditor5-angular` component via this repository.

@@ -141,3 +144,3 @@ ```bash

Make sure to test package with the production setup (`ng build --prod`) and with older Angular versions (at least with the 9.1).
Make sure to test the package with the production setup (`ng build --prod`) and with older Angular versions (at least with the 9.1).

@@ -144,0 +147,0 @@ #### Publishing the package

/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license

@@ -4,0 +4,0 @@ */

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc